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
What a great post!
ReplyDeletegreat 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