Client side performance in Web based Banking applications Divakar Prabhu Infosys Limited (NASDAQ: INFY)

Slides:



Advertisements
Similar presentations
QA practitioners viewpoint
Advertisements

CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
ASP.NET Best Practices Dawit Wubshet Park University.
ProJAX An AJAX Framework for Progress Tom Bascom President Greenfield Technologies
Caching Dynamic Documents Vipul Goyal Department of Computer Science & Engg Institute of Technology, Banaras Hindu University Sugata Sanyal School of Technology.
WHAT IS AJAX? Zack Sheppard [zts2101] WHIM April 19, 2011.
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel.
1 JavaScript & AJAX CS , Spring JavaScript.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Mark Phillip markphillip.com 200s, 304s, Expires Headers, HTTP Compression, And You.
Web Design Basic Concepts.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
INTRODUCTION TO DHTML. TOPICS TO BE DISCUSSED……….  Introduction Introduction  UsesUses  ComponentsComponents  Difference between HTML and DHTMLDifference.
Introduction to AJAX AJAX Keywords: JavaScript and XML
1 Ajax. 2 What’s Ajax? AJAX is a combination of a few technologies that has come together in the past few years AJAX used to be an acronym for Asynchronous.
Samuvel Johnson nd MCA B. Contents  Introduction to Real-time systems  Two main types of system  Testing real-time software  Difficulties.
WaveMaker Visual AJAX Studio 4.0 Training Troubleshooting.
11/13/2007 A synchronous J avaScript A nd X ML Gloria Law Joshua Mahaz.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
User side and server side factors that influence the performance of the website P2 Unit 28.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
Client side web programming Introduction Jaana Holvikivi, DSc. School of ICT.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
Dynamic web content HTTP and HTML: Berners-Lee’s Basics.
“Load Testing Early and Often” By Donald Doane Presentation to the Rockville MDCFUG.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
WebOPI -Bring BOY OPI to the Web and Mobile Xihui Chen, Kay Kasemir Spring 2012 EPICS Meeting.
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
Ajax for Dynamic Web Development Gregory McChesney.
OPTIMISING USER INTERFACES FOR MOBILE COMPUTER ASSISTED INTERVIEWING DEVICES Prepared By Otyek Ronald James Uganda Bureau of Statistics Presented at the.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Restricted © Siemens AG All rights reserved A Developer’s Insights Into Performance Optimizations for Mobile Web Apps CT DC AA EM LP2 | June 2015.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
Mobile Application Testing Mobile Application Testing.
Introduction to the World Wide Web & Internet CIS 101.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
WHAT'S THE DIFFERENCE BETWEEN A WEB APPLICATION STREAMING NETWORK AND A CDN? INSTART LOGIC.
THE FUTURE IS HERE: APPLICATION- AWARE CACHING BY ASHOK ANAND.
Ajax & Client-side Dynamic Web Gunwoo Park (Undergraduate)
What is Google Analytics?
Web Programming Language
Web Technologies Computing Science Thompson Rivers University
How does it work ?.
AJAX and REST.
Whether you decide to use hidden frames or XMLHttp, there are several things you'll need to consider when building an Ajax application. Expanding the role.
AJAX.
Database Driven Websites
Hints and tips for faster web apps
Episerver Performance A-Z
Web Technologies Computing Science Thompson Rivers University
Client-Server Model: Requesting a Web Page
Running C# in the browser
Presentation transcript:

Client side performance in Web based Banking applications Divakar Prabhu Infosys Limited (NASDAQ: INFY)

Abstract Response time which is one of the critical performance indicator of web page is more influenced by the client side activities than by the server or network conditions, i.e. upto 80% of the user’s time (response time of the web page) is spent waiting for events at client side other than the main HTML page to download. Client side technology is ever changing and is making the browsers better and faster. Applications in Banking and Finance space have been at the forefront in adopting these technologies to provide superior user experiences. Web developers must consider optimizing the client side technologies for web applications as a proactive approach because improving the client end performance by 50% can reduce the total response time by upto 40-45%.It has been seen that following certain best practices during development or optimization of the code, for e.g. tuning the Javascript, AJAX or avoiding large DOM objects have been more effective in reducing performance problems. 2

Abstract (cont..) Regardless of the technology used, using tools for testing the client side performance is a good practice that can be used to track the HTTP traffic to isolate bottlenecks. HttpWatch, Fiddler and Y Slow are some tools available to name a few. This paper focuses on the importance of Client side Performance and describes some of the approaches available for optimizing the code to ensure better user experiences. It also describes some of the tools available in the market for analysing and testing the client side performance. 3

Importance of Client Side Performance Web page GET GET Request to server Images-gifs Tables Text Style sheets Table contents Java script GET

Importance of Client side performance Client side optimizations give better returns 5 Time taken for the HTML page to download for a trading portal is only 4.6s whereas the total time for the page to download was 38.72s.

Importance of Client side performance (Cont’d) Web Caching doesn’t always improve performance Caching seldom works the way it is designed Business Benefits Improves customer perception of the Web application and better marketing of the products Users Perception of Response time End user response time is the time taken to display the whole page 6

Importance of Client side performance (Cont’d) Increasing use of 3rd Party contents in Banking Applications 3 rd party content in Web applications will cause adverse impact to performance. 7

Challenges in measuring Client Side Response Modern Web applications are more dynamic than the traditional Web applications and allow developers to leverage the browsers or client as application development platforms. Browser dependent behavior Communication- Async and Synchronous Limited connection issue in Browsers 8

Client side Performance Testing Performance testing therefore needs to have End to End approach starting at the browser and span full application platform starting at the JavaScript & Rendering Engine of the Browser over the Network 9

Client side Performance Testing Requirement Analysis checklist Specific questions that can be asked to End User Community (Business) and Architect during NFR collection are as follows  What technologies will be used in the presentation layer?  What are the different 3rd party content used for news, market data or tickers?  What is the maximum acceptable response time for the pages?  What is the size of web page content?  Will the page be accessed by mobile devices?  What are the different browsers that will be used?  What are the pages that are heavy or important from business stand point?  What are the pages that refresh frequently?  What is the caching logic used? 10

Client side Performance Testing (Contd) Tools available to test the client side performance  HTTPWatch- A network traffic monitoring tool which is used by various organizations as industry standard to fine tune their Web applications  Fiddler- A web debugging tool that analyzes the background communication that goes between browser and the servers by logging all the ongoing traffic in a session  Yslow- Open source tool that works with Firebug, a Firefox add-on, analyzes the web pages and suggests ways to improve the performance. 11

Best Practices and optimizations to be Used during development JavaScript  Javascript should be placed at the bottom of the page  JavaScript code must be external since it is downloaded the first time and is cached for later usage.  Avoid loading large script files, group scripts logically  Compacting code leads to increased performance  Caching frequently used objects helps in improving response of the pages  Avoiding memory leaks can exponentially increase performance AJAX  Use caching for responses wherever possible  Use ‘Get’ or ‘Post’ methods for all AJAX requests  Avoid DOM elements if possible or use it sparingly 12

Best Practices and optimizations to be Used during development (Contd) HTTP Requests  Ensure that only valid requests are sent to the server.  HTTP requests can be sent in parallel rather than in sequence  Redirections should be avoided because each redirect will result in increase of time of the request due to standard operations CSS  CSS should be made external to since it can be downloaded the first time and cached for later usage.  CSS reference should be at top of the web page, HTML rendering engine that interprets the CSS is called first.  CSS circular references or duplicate references should be avoided  CSS file size should be as small as possible since it impacts the speed at which the page loads. Distributed Content Files  CDNs can be used to deliver both static and dynamic web pages and can be one of the best ways to optimize performance. 13

Conclusion In addition to the load testing tools that are currently being used to determine Server side response time, Client side performance testing tools can also be used. Most of the tools mentioned in the paper are freeware and can easily be downloaded and used in the projects. Following good practices during development and diligent testing of Client Side parameters can go a long way in improving the performance of the web pages and consequent user experience. 14

References  Infosys project experience      and-how-to-do-it/  ndex.html?ca=drs-

Q&A: 16