Phone Quartiz
Phone Quartiz Phone Quartiz (855) QUARTIZ
Phone Quartiz (855) 782 7849
Phone Quartiz 020 3371 9387
Phone Quartiz 01 7663 3281
Phone Quartiz 03 4579 5546
Phone Quartiz 02 8015 5667
Phone Quartiz
  Web Application Development
 

The internet has become the foremost source that people turn to for prompt information at minimal cost. This universal portal has also become the prime medium for exchanging information across the globe. Web applications have evolved over time to effectively utilize the internet to revolutionize world-wide business, information deployment and exchange.

These applications are accessible through popular web browsers over a network such as the internet or an intranet. Intranet applications are generally developed for large single-entity organizations where information security is guarded stringently. However, with the latest security measures and software that are available in the market, conglomerates have taken a turn to using internet-based web applications on account of its ability to unify business processes and streamline inter-department and inter-center business activities. Accessibility of real-time information from all over the globe provides for a more educated and timely approach to decision making.

Web applications have changed the way people think, shop and make decisions. Amazon.com and e-bay.com are popular commercial “Web Store” applications that have become close to indispensible in domestic living. Facebook and Twitter are social networking applications that are just as popular and indispensible. Other popular applications include Google Docs, NetSuite.com, Salesforce.com, and Webex.com.

But at some point, all these widely-known applications were just a brilliant idea within a human mind. How can you turn your ideas into world-renowned web applications?

Designing a Web Application

Universally, the development of a web application goes thru 4 primary steps.

1. Plotting the vision and direction of the project

Generally, the key decision makers and generators of ideas are those who are present in the management rung. However, an understanding of the viability of the proposed product or solution can only come thru the inclusion of a team of people from different streams. It takes a customer analyst to understand the mindset of the customer, business analysts and project managers for an outline of the solution, resource demands and project timeline, marketing executives for an understanding of how to penetrate the market and carve market share, and finally the financial department for a thorough check on whether the company can effectively fund the project or requires external investment.

Products that are in the idea stage must always be developed keeping the customer in mind. However, it must not come at the expense of the product functionality or viability. It is always best to cater to the needs of the broader audience rather than concentrating on one demographic alone unless of course the product is developed for a niche market.

At all times, discussions and suggestions should be focused around the activity of concern and should lead toward a set of goals that have been previously established.

2. Developing a plan

Successful application development requires a well-structured plan and identification of activities surrounding it. The first step toward drawing that plan is to understand the features that need to be included in the product, the scripting language it needs to be developed in and the timeline of the project.

While selecting product features, it is crucial to locate features that are of benefit to all users rather than trying to incorporate every customer demand. Exercising prudence in this regard will help ensure that the product does not get bogged down with excessive features and become too complex for use.

Activities surrounding planning are generally hierarchical in nature and involve three main analytical steps: activity, action, and operation. While drawing a plan, it is always best to have an activity map developed to see how the activities gel together to form the final product composition. A typical example can be found below.

Google Docs:

  • Create and share your work online
  • Upload from and save to your desktop
  • Edit anytime, from anywhere
  • Pick who can access your documents
  • Share changes in real time
  • Files are stored securely online

3. Design and Development

Development involves the coding, testing and publishing of data. Data variables, entities and coding procedures are all established at this phase of the project.

In general, an application is broken down into logical pieces called 'tiers'. Each tier is assigned a role. While most traditional applications consist of only 1 tier that usually resides on the client machine, the more complex of applications follow an n-tiered approach that affords it a versatility that simple applications lack. A common structure followed is the three-tiered approach which includes presentation, application and storage. The web browser forms the first tier (presentation), the engine using dynamic web content technology (such as ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Perl, Python, Ruby on Rails or Struts2) forms the middle tier (application logic), and the database is the third tier (storage).

The manner in which they all work together is: the web browser sends requests to the middle tier, which services them by making queries and updates against the database and generates a user interface.

Complex applications require more than a 3-tier solution; they follow an n-tiered approach. The greatest advantage of this approach is the break that is achieved in business logic, which resides on the application tier, to form a fine-grained model. An example of the same can be found in the creation of a separate business logic tier. Or adding an integration tier that separates the data tier from the rest of tiers by providing an easy-to-use interface to access the data.

For example

You can access client data by calling a "list_clients()" function instead of making a SQL query directly against the client table on the database. This allows replacing the underlying database without changing the other tiers.

A web application is considered by some as having a two-tier architecture. This can be a "smart" client that performs all the work and queries a "dumb" server, or a "dumb" client that relies on a "smart" server. The client would handle the presentation tier, the server would have the database (storage tier), and the business logic (application tier) would be on one of them or on both. While this increases the scalability of the applications and separates the display and the database, it still doesn't allow for true specialization of layers, so most applications will outgrow this model.

4. Testing, Support and Stability

Testing is one of the most important steps within application development. Pressure testing of all the code developed must be done with the help of professional testing procedures. Policies and procedures have to be established for successful support.

Testing done on web applications are more or less similar to those employed on desktop applications. However, since web application clients vary, additional testing will have to be performed that involves:

  • Security
  • Performance, Load, and Stress
  • HTML/CSS validation
  • Accessibility
  • Usability
  • Cross-browser

Web Application Development – Benefits and Drawbacks

Benefits

  • Procedures for implementation in a large organization are minimal. Compatible browsers are required.
  • They hardly require any disk space on the client
  • Cross-platform compatibility present
  • Easy integration into other web procedures like email and searching
  • HTML 5 brings with it interactive environments with native audio, video, and better error management

Drawbacks

  • Web interfaces place restrictions on user experience and usability
  • Changes in features or components of browsers could hamper application functioning
  • Standards compliance issues in non-typical office document creators cause problems during file sharing and collaboration activities.
  • Non-open source applications have limitations in flexibility, customizations, and offline mode of working.
  • Bug fixing and testing is completely dependent on a third-party company that  may apply changes to code, customizations or additional features that are not required by the user
  • Privacy of user data is another concern

Risks Faced in Web Application Development and Maintenance

Web applications bear with them different levels of risk. While some are prone to more risk just by the nature of the information contained in them, others such as a personal homepage are open to lower levels of risk. Security, software bugs, etc. are all major issues that are faced during development, deployment and even after during continual maintenance of the application.

Security Risks

1.Injection Flaws

These flaws allow attackers to relay malicious code through Web apps to another system, such as backend databases or the operating system. Solution: Use commercial WAFs (Web Application Firewalls).

2.Cross-Site Scripting

This occurs when malicious code is injected into legitimate websites. Solution: Proper validation policies should be put into practice.

3.Broken Authentication and Session Management

Caused by poor credential management associated with password changes and recovery functions. Solution: Utilize a single set of strong authentication and session management controls.

4.Insecure Direct Object Reference

Developer exposes a reference to an internal implementation object such as a file, directory or URL. Hackers can manipulate direct object references to access other objects without authorization.

5.Cross-Site Request Forgery

Occurs when a web application fails to verify whether a valid and consistent request came intentionally thru the user who submitted the request. Solution: Unique token should be enforced for every user session.

Technical Risks

Risks associated with technical complexity can be mitigated thru:

  • Documentation
  • Test planning
  • Change control
  • Requirements analysis
  • Architectural description
  • Formal design
  • Construction practices

Trends in Web Application Development

Instant publishing of software across the world from numerous websites and individual contributors has opened up new opportunities within web application development. The trends in general enterprise application development frameworks indicate that Java and .NET are the top players. PHP has strong potential and comes in third. Ruby, Python and Perl are found towards the latter half of the list in spite of their popularity.

The focus has shifted toward rich Internet applications that leverage cloud technologies. The development and release of new web application frameworks and technologies will be seen booming over the coming year. According to Gartner, all through 2014, JavaScript performance will push HTML5 and the browser as a mainstream application developer environment. As HTML5 becomes more capable, there will be a definitive shift from native apps to HTML5. However, native apps will not entirely disappear.

 

 

Request for Contact
Home | Legal Disclaimer | Tell-a-friend | Careers | Terms of Use | Privacy Policy | Contact Us | Site Map
© 2017 Quartiz. All rights reserved.