Common Web Application Architecture




                Figure : architectural diagram with most popular technologies used 


Web architecture basically focuses on how web application is internally built regarding its web client and the web server with all the other supporting services and components.
Currently there are many technologies being used in different components of web architecture.Different kind of technologies have their inherent advantages as well as draw backs. So when a web developer is selecting the most matching technology for his web application he needs to first go through and find what is his requirement and which one is more serving to his this requirement.


Client

At the client side,different type of web browers are being used.
The below figure explain the web browser popularity in year 2000.





Google Chrome


As it is shown in the figure google chrome which was released by Google is the most popular browser among other browsers.

Advantages of using Chrome


 There are a number of developer supporting extentions provided by google chrome such as CSS-Shack, Marmoset, Project Naptha, What Font
 When using google chrome,they give the option to "Make Application Shortcut" where you can run your application like a local application
 Chrome giving a fast browsing performance
 Built-in Flash and PDF Support
 Free to download
 Offers better syncing capabilities

Disavantages of using Chrome


 Graphics hardware acceleration is not supported for all graphic cards
 Compared to firefox,loading of file is slow
 Because of the sandboxing model,not good in memory usage


Firefox


Firefox browser is a an open source product of Mozilla Corporation which uses Gecko Layout
Engine.


Advantages of using firefox


 Firefox support a number of add ons for web development as well as testing such as Web
Developer,Firebug, MeasureIt, ColorZilla, CSS Usage
 More compatibility
 More secure privacy mode
 More intuitive navigation
 Display Browser can be customized using skins


Disadvantages of using firefox


 No better defense against malware
 Built-in to download files uses more memory make it work slow
 No mouse gestures


Internet Explorer 8


This is the default browser that comes with Microsoft windows. Every installation of Windows
Internet Explorer 8 comes with the Developer Tools. This tool enables Web site developers to
quickly debug Microsoft JScript, investigate a behavior specific to Windows Internet Explorer, or
iterate rapidly to prototype a new design or try solutions to a problem on-the-fly.


Advantages of using IE8


 Debugging of html and javascript is supported by using Primary Content Pane in the tools
displays the site's Document Object Model (DOM) tree
 has the ability to save and recover the last user browsable if a crash
 prevent browsing history and cache files from storage
Disadvantages of using IE8
 380MB of computer memory space with 2GB of memory
 Does not support some key functionalities that are being offered by firefox and chrome
 No better sytle support – if to tweak an existing style,have to go into Attributes and
add an override to the element


Web Server


UI Components


HTML - HyperText Markup Language, commonly abbreviated as HTML, is the standard
markup language used to create web pages. Along with CSS, and JavaScript, HTML is
a cornerstone technology used to create web pages, as well as to create user interfaces
for mobile and web applications.

CSS - CSS is a stylesheet language that describes the presentation of an HTML (or
XML) document. CSS describes how elements must be rendered on screen, on paper,
or in other media.

Javascript - JavaScript (JS) is a lightweight, interpreted, programming language with
first-class functions. Most well-known as the scripting language for Web pages, many
non-browser environments also use it, such as node.js and Apache CouchDB. JS is a
prototype-based, multi-paradigm, dynamic scripting language, supporting object oriented,
imperative, and declarative (e.g. functional programming) styles.

Bootstrap - Bootstrap makes front-end web development faster and easier. It's made for
folks of all skill levels, devices of all shapes, and projects of all sizes.


Advangtages

1) Responsiveness
2) Speed of Development
3) Consistency
4) Customizable

Disadvantages

1) Doesn’t follow best practices
2) Can collide with existing set-up
3) Twitter Bootstrap is heavy
4) SASS is not supported fully


UI Process Components


Popular JS frameworks






Business layer


 Java EE


Java Platform, Enterprise Edition (Java EE) is the standard in community-driven
enterprise software. Java EE is developed using the Java Community Process, with
contributions from industry experts, commercial and open source organizations, Java
User Groups, and countless individuals. Each release integrates new features that align
with industry needs, improves application portability, and increases developer
productivity.

- A java EE web developer can use IDE like eclipse and netbeans and easily develop
protytypes before actual implemtation to evaluate the performance of frameworks
that are planned to use.
- A light weighted implemtations Eg: Glassfish is 75 MB
- High portability supported


 Symfony PHP Framework


The leading PHP framework to create websites and web applications. Built on top of
the Symfony Components that are a set of decoupled and reusable components on
which the best PHP applications are built, such as Drupal, phpBB, and eZ Publish.

- compliant with most platforms, business libraries, infrastructure and methods
- high maintainability
- The configuration is easy, because the programmer has to configure only specific
things to the application
- The framework includes a wide set of command line tools which are helpful during
project management and development process


Database Server



As defined in the client server model this provides database services such as database
manipulation to a computer programme or a web application
Among many popular database engines,I selected to discuss about SQLite,MySQL which I feel is
better for web development.


(1) MySQL


Advantages


 MySQL is very easy to use as well as to install with other third party supporting tools
 Source code is available to the community so it can be classified as open source
 A well built community support
 An industry standard


Disadvantages


 Unstableness can be found in the way it handles certain functions (such as references,
transactions, and auditing
 Oracle does not accept community-developed patches
 Its Functionality Tends To Be Heavily Dependant On Addons


(2) SQLite


Advantages


 In many cases at least 2-3 times faster then MySQL
 No TCP/IP overhead
 Rollback protect data integrity
 the integration works with functional and direct calls made to a file holding the data which make the process efficient

Disadvantes


 Database size restricted to 2GB in most cases
 Not as scalabale as NoSQL
 Locks whole file for writing


Cross Cutting


OAuth

OAuth protocol is an open standard for authorization which is used for secure logins for third party applications. - Can be used to publish and interact with protected data - Really simple to use - When developing web applications it is a must to give safer and secure connections to the end users

LDAP

 Lightweight Directory Access Protocol is a directory service protocol.It runs on TCP/IP Layer. It enables anyone to locate organizations, individuals, and other resources such as files and devices in a network

- In LDAP, account lockout policy/Password history features can be enabled if needed
- Permissions to any object/attribute can be customized
- the consolidation of certain types of information can be done within a web based system
But if authenticate in LDAP was used against Active-Directory then Microsoft licenses needed to be gained.






References

http://www.creativebloq.com/web-design/google-chrome-extensions-21410570
https://www.reddit.com/r/javascript/comments/2uvz0x/whats_so_great_about_reactjs/
http://www.oracle.com/technetwork/java/javaee/overview/index.html
https://msdn.microsoft.com/en-us/library/dd565628(v=vs.85).aspx











Next PostNewer Post Previous PostOlder Post Home

2 comments:

  1. great post! Cyfrania serves as the crucial IT support pillar for our clients' businesses. Boasting two decades of experience in custom web application development https://cyfrania.com/web-app-development-services, we assure top-notch Google quality ratings, producing web applications that excel in user experience, mobile responsiveness, and speed.

    ReplyDelete