Web application development is the process and practice of developing web applications. Web applications are business strategies and policies implemented on the Web through the use of User, Business and Data services. These tools are where the future lies.
Web based applications have evolved considerably over the present years and alongside improvements in protection and knowledge there are plenty of scenarios where traditional software based applications and arrangements might be enhanced by transferring them to a web based application.
The following are a few of the core benefits of web based applications.
Cross platform compatibility.
Majority of the web based applications are much more extra compatible across platforms than traditional installed software. Normally the minimum necessity should be a web browser of which there are plenty. (Internet Explorer, Firefox, Netscape to term but a few)
These web browsers are obtainable for a multitude of working operating systems and so whether you use Windows, Linux or Mac OS you can run the web application
The web based systems just need to be installed on the server allocating minimal requirements on the end user workstation. This makes maintaining and notifying the arrangement far simpler as normally it can all be completed on the server. Each client updates can be used via the web server with ease.
Because of the manageability and cross platform support, employing web applications to the end user is much easier. They are additionally flawless where bandwidth is limited and the system and data is remote to the user. At their most deployable you plainly need to dispatch the user to a website address to log in to and provide them with internet access.
This has huge implications permitting you to widen admission to your systems, update procedures and enhance connections by bestowing more of your clients, suppliers and third parties with admission to your systems.
Secure live data
In larger and more complex systems the data is stored and shifted around various systems and data sources. In web based systems these systems /procedures can frequently be consolidated cutting the demand to move data around.
Web based applications additionally furnish an added layer of protection by removing the demand for the user to have admission to the data and back end servers.
Web based applications can lower prices dramatically due to decreased support and maintenance, lower the requirements on the end user system and simplify the architecture.
Reduce company prices - less time is spent conversing to clients over the phone; remove printed materials; permit users to update/modify their own details.
With more updating of your company procedures as a consequence of your web based application supplementary savings can frequently be found.
Zero installations - all computers have a browser
Centralised data - more secure & easy to backup.
Quick and easy to update.
Reach anyone, anywhere in the world.
Availablility 24 hours a day, 7 days a week.
Low spec PCs or smart phones can be used.
Training- Online can be completed at user's own time and pace.
Direct access to latest information - for Employees where it is located.
Web-based applications are tricky to grasp and maintain. The users of Web-based applications change quite dynamically. Users can everywhere around the globe, managing to an inherent assumption that the request has to be highly available. An exceedingly obtainable request has to additionally be exceedingly reliable and scalable.
All good Web-based applications benefit from countless features. In this article, I will debate some of the aspects and the key features that you have to address in a Web application:
Key features for a Web application
Each enterprise application must have the above-mentioned abilities, as well as affordability, reliability, upgradability, supportability, profitability and marketability.
Scalability of an application has two autonomous aspects - these are scale up and scale out. Scaling up involves enhancing the hardware or optimizing the software to safeguard a solitary server machine that can support extra users. Example, if a machine upheld 100 users before a scale up, then, afterward a scale up exercise, it could rise to 125 users.
Scale out is when extra servers that present the same functions can be added, without disrupting the software, to rise the number of users upheld by the application. The users could rise from 100 to 175 afterwards adding one more set of server machines. The number of users should not double because of the overhead of contact between the servers allocating the load. This additionally shows that the software can be able to seamlessly allocate the burden of a single server between more than one server.
High availability is generally used synonymously with availability. A highly available application is the one that's up and running most periods in a year, hence elevated potential is measured in words of downtime across the year. This downtime additionally includes projected downtime of the request for maintenance and upgrading.
An application is believed to be maintainable if it can cater to most of the needs of the users above its lifetime. If an application can raise the number of users as demanded, enhance the features that users demand, and add new features to the request as demanded, next the application is maintainable.
The downtime of an application due to bugs in the software is usually the unreliability factor. It is extremely vital for an application to have a elevated reliability factor to safeguard that it is additionally exceedingly available. Availability is decreased alongside each kind of downtime, encompassing downtime for software bugs.
Using two languages in each case to critically compare the different types of server-side and client-side scripting language
A scripting language or script language is a programming language that supports the writing of scripts, programs written for a software environment that automate the execution of tasks which could alternatively be executed one-by-one by a human operator. http://en.wikipedia.org/wiki/Scripting_language
A client-side script is a progam that could convoy an HTML document or be embedded directly in it. The program executes on the client's machine after the document loads, or at a little supplementary period such as after a link is activated. HTML's support for scripts is autonomous of the scripting language.
Scripts proposal authors a way to spread HTML documents in highly active and interactive ways. E.g:
â€¢ Scripts could be assessed as a document loads to adjust the contents of the document dynamically.
â€¢ Scripts could convoy a form to process input as it is entered. Designers could vibrantly fill out portions of a form established on the benefits of supplementary fields. They could additionally safeguard that input data conforms to predetermined scopes of benefits, that fields are reciprocally consistent, etc.
â€¢ Scripts could be activated by events that alter the document, such as loading, unloading, agent focus, mouse movement, etc.
â€¢ Scripts could be related to form controls (e.g., buttons) to produce graphical user interface elements.
Server side scripting languages in a web hosting account
Server side scripting language makes it probable to craft more advanced web sites. This page encompasses descriptions of the most public scripting languages obtainable in web hosting accounts.
For the making of advanced dynamic websites, you require some server side scripting. Server side scripts are programs that are provided on the server, and can be utilized in countless ways. Template based web sites and shopping carts are a few examples. The languages utilized for these tasks are normal software design languages alongside distinct libraries/packages for server side scripting.
Not all web hosting reports support all public scripting languages, so this is a vital factor in your find for the flawless web host. The following are a few of the most public software design languages utilized for server side scripting.
ASP, or Alert Server Pages, is a technology industrialized by Microsoft for making more advanced web pages. The most common language for software design ASP is VBScript. It is obtainable in most web hosting accounts on Microsoft servers. There is additionally a edition for Unix servers shouted Chillisoft ASP, but it is not as stable as real ASP. There are plenty of online ASP resources too. ASP.NET 4.Matthew MacDonald (5 Sep 2010)
ASP.net is the subsequent creation ASP technology that permits you to use any .net-enabled language to plan a site. The two most public languages for .net web software design is VB.net and C#. Both of these languages are good choices for both desktop and web applications. VB.net is perhaps easier to use and learn, and C# is extra utilized for enterprise applications
PHP, or PHP Hypertext Preprocessor is an open source language .PHP has obtained large popularity the last few years. It is very easy to learn and there are countless readymade scripts available. Nearly every single inexpensive web hosting package includes PHP. Compared to other languages It is easy to learn for a programming language with countless books and web sources dedicated to it.
PHP & MySQL In Easy Steps by Mike McGrath (15 Aug 2012)
The main choice for server side scripting on Unix/Linux periods is PHP. Its easy to learn and quick to program in. Java (JSP/Servlets) is the favored choice for larger projects/enterprises. Those who are arranging to become expert Windows programmers can't go wrong alongside ASP.net, alongside language choices for both beginners and extra experienced programmers. ColdFusion, Perl and Python are additionally good software design languages alongside their exceptional strengths.
The languages are just instruments, and most software design methods can be utilized alongside most software design languages. Programmers should select one language and stick to it in the beginning. The use of different languages can be mystifying for beginners. For experienced programmers, new scripting languages are more easier to learn.
PHP vs ASP.net Comparison
Scalability and Ease of Maintenance
Scalability and ease of maintenance have nothing to do if a programmer selects PHP or ASP.net platform. Web application scalability and ease of maintenance chiefly depend on the Programmers' experience
â€¢ Using the best programming design practices
â€¢ Using a solid programming design framework
â€¢ Following software design guidelines and standards.
Performance and Speed
There has been a lot of debate concerning this subject and most of the debates have been biased and have been tailored to advance one of the programming languages instead of notifying the audience.
There are so many countless supplementary factors to ponder when it comes to computing web application speed, so the speed of each software design language ought to not have any noticeable effect on the speed and presentation of most of the websites nowadays.
When it comes to the main and common database servers, MySQL (now owned by Oracle), PostgreSQL, MSSQL and Oracle are all clashing for speed and performance. new features are seen and better performance by all database servers in every single edition enhance so I will say that the above database servers will all have a outstanding performance if the database programmers use optimized and useful SQL queries and if demanded, use the elevated features such as caching.
MySQL is utilized by Google, Facebook, YouTube, Yahoo and very recently on FIFA world Cup that has consented a huge amount of viewers worldwide. This shows the capability of the MySQL database server
Other items that can have a result on presentation but have nothing to do alongside the software design language is selected are:
â€¢ Ability and vision of programmer to optimize the code
â€¢ Ability and vision of programmer to accurately write properly and optimized SQL queries.
â€¢ a few functions could take longer to present in the ASP.net platform and less time in the PHP platform or the other way round
PHP, MySQL server, Apache server, and Linux OS are all free and upgrades are additionally free. There is no additional licensing price for possessing one more hot standby server as a backup, or demanding to run several servers for burden balancing or server clustering.
ASP.net is free if you buy Windows OS. There is a comprehensive licensing price for a Microsoft Windows Server, Microsoft SQL Server and upcoming upgrades
The licensing prices for Microsoft can considerably rise if the site becomes porpular and there is a demand to run the site on several servers or needs server features such as burden balancing, server clustering or hot standby.
Support and Resources
Since LAMP is open source, there is a large number of dedicated and approachable developers around the globe who unceasingly make improvements and updates, and provide added support for the platform. Additionally, there are extra support resources and developers obtainable for PHP and LAMP Platforms.
ASP.net relies on an available number of developers at Microsoft for making improvements and updates. There are less support contributors available to solve ASP.net challenges.
Time to Deploy
It takes a larger number (more lines) of code to finish difficult features and functionality alongside ASP.net contrasted to PHP, adding extra time and cost to the development process.
According to Programming PHP [Paperback]Kevin Tatroe (Author), Peter MacIntyre (Author), PHP is interpreted at the server, so after changing functionality, no supplementary steps are needed to see the changes. ASP.net needs to be compiled every single time the code is modified. The development process is extra time-consuming after employing ASP.net as compared to PHP.
PHP is platform independent that can run on any platform (Linux, Unix, Mac OS X, Windows)
In contrast ASP.net is only built to run only on the Windows platform.
Discuss three web security concerns and make recommendations for security improvements
Privacy - A term frequently used to delineate an individual's anonymity and how safe they feelin a location. when you are refering to privacy on the Internet, this usually means to what data is public alongside the visiting site, how that data is utilized, who that data is shared with, or if that data is used to track users on the website. Answers to these inquiries are usually discovered on the firm or website privacy strategy
Examples of privacy invasion
Identity theftÂ is the act of a person obtaining information illegally about someone else. Often the thief will try finding such information as first name, surname, address, date of birth, social security number, passwords, phone numbers, email, family information, credit card numbers, other credit information, etc. The thief can then use this information to gain access to bank accounts, e-mail, cell phones, identify themselves as you, or sells your information.
There are various ways of preventing identity theft e.g
Using secure pages when on the internet. This are usually indicated with a lock
Do not store debit /credit card details online
Having active and up-to-dateÂ spywareÂ protection program
Having antivirus protection
awareness of fake e-mails andÂ phishingÂ e-mails
making sure computer is secure (passwords)
Â This is a term associated with any change not approved by the manufacturer or developer that makes the device do something it was not initially intended to do. Hackers usually use a software program downloaded to help a user perform a hack on their computer or other computer or device. Some software that may claim to do one thing may do another. For example, software that may promise to gain you access to another individual's computer may allow other hackers to get access to your information (akaÂ Trojan Horses).
Listing of programs that may indicate a hacker has been on the computer.
BackdoorsÂ andÂ TrojansÂ are by far the most common programs to be installed on the computer after it has been hacked. These programs allow the hacker to gain access to the computer.
Spyware, rogue antivirus programs, andÂ malwareÂ can be an indication of a hacker.
The following are ways of protecting your computer system
Verify data is encrypted
Use safe passwords
Be cautious when logging from different locations
Update internet browser plugins
Secure saved passwords
Be aware of those around you
III) Destruction - this is a very important reason for securing of data. System can be damaged and thus losing of data. Viruses can cause a system to function slowly and in time crash. This will affect other users.
Malicious file execution
Uploaded files or other data feeds may not be what they seem. Never allow user-supplied input to be used in any file name or path (e.g. URLs or file system references). Uploaded files may also contain a malicious payload so should not be stored in web accessible locations.