Dr. Dobb's Journal - September 2008 - (Page 34) d09wong_p3ds 7/14/08 10:46 AM Page 34 Core Technology REAL USERS REALLY MATTER continued from page 32 changed all that. A functioning server can no longer ensure that “real” users are experiencing acceptable application performance from across the Web. A hundred different things can (and will) go wrong between the real user’s browser and the content or data that the user is accessing. As a result, the key to managing web application performance is to accurately measure performance as experienced by real users at the browser where web applications come together. Real user experience is fundamentally the only true measure of web application performance. Measuring the real user’s experience of web application performance is useful from a reporting perspective; however, the data is not actionable. According to Forrester analyst Jean Pierre Garbani, web application performance has to be monitored and managed at the granularity of each individual transaction, not from a silo (cloud, logical server, code, database, and the like) or infrastructure component (PC, routers, servers, Internet/WAN/LAN, and so on). Poor performing transactions from the real user’s perspective should be traced from browser to database—including third-party web service calls—to produce a map of the transaction path through the infrastructure as well as the time consumed by each infrastructure tier. The purpose of mapping the transaction path of real transactions initiated by real users is to facilitate the identification of causes or performance problems or bottlenecks. Each real transaction might follow a different path through a complex (and potentially virtualized) infrastructure, which makes it difficult and time consuming for correlating data stored in configuration management databases to pinpoint problems. With a browser-to-database mapping of transactions from the real user’s perspective and the time consumed by each of the infrastructure tiers clearly measured, developers can easily identify the cause of any performance degradation. In most organizations, the process incurred to triage, recreate, and diagnose a problem usually consumes most of the time needed to resolve a problem. With this new approach, the labor cost and time to problem resolution of the real user’s performance problem can be greatly reduced. Building a Glass Wall With the growing complexity of web applications, having a process for continued performance improvement and problem avoidance is critical. Yes, performance issues occur and are sometimes unavoidable due to situations beyond the control of developers or operations personnel. Again, the key is to bake in performance through a culture of Figure 1: ITIL application lifecycle. cooperation where developers and operations work together so that performance problems can either be resolved proactively, or detected and resolved quickly before they impact user satisfaction. The Information Technology Infrastructure Library Framework (ITIL; www.itilofficialsite.com) segregates the software development lifecycle into six phases: requirements, design, build, deploy, operate, and optimize (Figure 1). The last two phases of the lifecycle are particularly important when dealing with complex web applications. On the one hand, web applications are never truly “completed” because complexity, lack of control over third-party infrastructure service providers, and the ever increasing time-to-market pressure for web applications prevents an exhaustive testing of all possible use scenarios. To deal with the complexity of web applications, there has to be a linkage between the traditionally discrete development and operations functions. In other words, development and operations have to have a common view of business impact, real user performance, application infrastructure performance, incidents, and problems. Ideally there is a single tool and set of metadata that can bridge these two functional groups and offer developers opportunities for optimization, and operations personnel ability to efficiently identify and remedy problems. For complex web applications, developers are constantly called on to deal with production problems, whether to patch codelevel problems that impact performance, or infrastructural problems that require workarounds. And because of their knowledge of the application, they are also called on to serve on triage teams attempting to recreate or diagnose potential or real performance problems. In fact, Gartner Group reports that nearly 40 percent of a developer’s time is consumed by production problems. This activity has a tremendous impact on the development schedule and developer productivity. The automated and continuous monitoring and diagnosis of transactional problems from a real user perspective performs three important functions in a production setting: 34 Dr. Dobb’s Journal l www.ddj.com l September 2008 http://www.itilofficialsite.com http://www.itilofficialsite.com http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - September 2008 Dr. Dobb's Journal - September 2008 Contents Friday Night Fish Fry Alia Vox Developer Diaries Developer’s Notebook A Conversation With Erik Demaine Application Lifecycle Management Meets Model-Driven Development Building a Robust Development Environment Real Users Really Matter Matching Wildcards: An Algorithm The Android Mobile Phone Platform Managing Application Thread Use Signalling Integer Overflows in Java .NET Development & the IBM WebSphere Portal Server The Agile Edge Effective Concurrency Swaine’s Flames Dr. Dobb's Journal - September 2008 Dr. Dobb's Journal - September 2008 - Dr. Dobb's Journal - September 2008 (Page Cover1) Dr. Dobb's Journal - September 2008 - Dr. Dobb's Journal - September 2008 (Page Cover2) Dr. Dobb's Journal - September 2008 - Dr. Dobb's Journal - September 2008 (Page 1) Dr. Dobb's Journal - September 2008 - Dr. Dobb's Journal - September 2008 (Page 2) Dr. Dobb's Journal - September 2008 - Dr. Dobb's Journal - September 2008 (Page 3) Dr. Dobb's Journal - September 2008 - Contents (Page 4) Dr. Dobb's Journal - September 2008 - Contents (Page 5) Dr. Dobb's Journal - September 2008 - Friday Night Fish Fry (Page 6) Dr. Dobb's Journal - September 2008 - Friday Night Fish Fry (Page 7) Dr. Dobb's Journal - September 2008 - Friday Night Fish Fry (Page 8) Dr. Dobb's Journal - September 2008 - Friday Night Fish Fry (Page 9) Dr. Dobb's Journal - September 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - September 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - September 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - September 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - September 2008 - Developer’s Notebook (Page 14) Dr. Dobb's Journal - September 2008 - Developer’s Notebook (Page 15) Dr. Dobb's Journal - September 2008 - A Conversation With Erik Demaine (Page 16) Dr. Dobb's Journal - September 2008 - A Conversation With Erik Demaine (Page 17) Dr. Dobb's Journal - September 2008 - A Conversation With Erik Demaine (Page 18) Dr. Dobb's Journal - September 2008 - A Conversation With Erik Demaine (Page 19) Dr. Dobb's Journal - September 2008 - Application Lifecycle Management Meets Model-Driven Development (Page 20) Dr. Dobb's Journal - September 2008 - Application Lifecycle Management Meets Model-Driven Development (Page 21) Dr. Dobb's Journal - September 2008 - Application Lifecycle Management Meets Model-Driven Development (Page 22) Dr. Dobb's Journal - September 2008 - Application Lifecycle Management Meets Model-Driven Development (Page 23) Dr. Dobb's Journal - September 2008 - Application Lifecycle Management Meets Model-Driven Development (Page 24) Dr. Dobb's Journal - September 2008 - Application Lifecycle Management Meets Model-Driven Development (Page 25) Dr. Dobb's Journal - September 2008 - Building a Robust Development Environment (Page 26) Dr. Dobb's Journal - September 2008 - Building a Robust Development Environment (Page 27) Dr. Dobb's Journal - September 2008 - Building a Robust Development Environment (Page 28) Dr. Dobb's Journal - September 2008 - Building a Robust Development Environment (Page 29) Dr. Dobb's Journal - September 2008 - Building a Robust Development Environment (Page 30) Dr. Dobb's Journal - September 2008 - Building a Robust Development Environment (Page 31) Dr. Dobb's Journal - September 2008 - Real Users Really Matter (Page 32) Dr. Dobb's Journal - September 2008 - Real Users Really Matter (Page 33) Dr. Dobb's Journal - September 2008 - Real Users Really Matter (Page 34) Dr. Dobb's Journal - September 2008 - Real Users Really Matter (Page 35) Dr. Dobb's Journal - September 2008 - Real Users Really Matter (Page 36) Dr. Dobb's Journal - September 2008 - Matching Wildcards: An Algorithm (Page 37) Dr. Dobb's Journal - September 2008 - Matching Wildcards: An Algorithm (Page 38) Dr. Dobb's Journal - September 2008 - Matching Wildcards: An Algorithm (Page 39) Dr. Dobb's Journal - September 2008 - The Android Mobile Phone Platform (Page 40) Dr. Dobb's Journal - September 2008 - The Android Mobile Phone Platform (Page 41) Dr. Dobb's Journal - September 2008 - The Android Mobile Phone Platform (Page 42) Dr. Dobb's Journal - September 2008 - The Android Mobile Phone Platform (Page 43) Dr. Dobb's Journal - September 2008 - The Android Mobile Phone Platform (Page 44) Dr. Dobb's Journal - September 2008 - The Android Mobile Phone Platform (Page 45) Dr. Dobb's Journal - September 2008 - The Android Mobile Phone Platform (Page 46) Dr. Dobb's Journal - September 2008 - The Android Mobile Phone Platform (Page 47) Dr. Dobb's Journal - September 2008 - Managing Application Thread Use (Page 48) Dr. Dobb's Journal - September 2008 - Managing Application Thread Use (Page 49) Dr. Dobb's Journal - September 2008 - Managing Application Thread Use (Page 50) Dr. Dobb's Journal - September 2008 - Managing Application Thread Use (Page 51) Dr. Dobb's Journal - September 2008 - Managing Application Thread Use (Page 52) Dr. Dobb's Journal - September 2008 - Managing Application Thread Use (Page 53) Dr. Dobb's Journal - September 2008 - Signalling Integer Overflows in Java (Page 54) Dr. Dobb's Journal - September 2008 - Signalling Integer Overflows in Java (Page 55) Dr. Dobb's Journal - September 2008 - Signalling Integer Overflows in Java (Page 56) Dr. Dobb's Journal - September 2008 - Signalling Integer Overflows in Java (Page 57) Dr. Dobb's Journal - September 2008 - Signalling Integer Overflows in Java (Page 58) Dr. Dobb's Journal - September 2008 - .NET Development & the IBM WebSphere Portal Server (Page 59) Dr. Dobb's Journal - September 2008 - .NET Development & the IBM WebSphere Portal Server (Page 60) Dr. Dobb's Journal - September 2008 - .NET Development & the IBM WebSphere Portal Server (Page 61) Dr. Dobb's Journal - September 2008 - .NET Development & the IBM WebSphere Portal Server (Page 62) Dr. Dobb's Journal - September 2008 - .NET Development & the IBM WebSphere Portal Server (Page 63) Dr. Dobb's Journal - September 2008 - .NET Development & the IBM WebSphere Portal Server (Page 64) Dr. Dobb's Journal - September 2008 - The Agile Edge (Page 65) Dr. Dobb's Journal - September 2008 - The Agile Edge (Page 66) Dr. Dobb's Journal - September 2008 - The Agile Edge (Page 67) Dr. Dobb's Journal - September 2008 - Effective Concurrency (Page 68) Dr. Dobb's Journal - September 2008 - Effective Concurrency (Page 69) Dr. Dobb's Journal - September 2008 - Effective Concurrency (Page 70) Dr. Dobb's Journal - September 2008 - Effective Concurrency (Page 71) Dr. Dobb's Journal - September 2008 - Swaine’s Flames (Page 72) Dr. Dobb's Journal - September 2008 - Swaine’s Flames (Page Cover3) Dr. Dobb's Journal - September 2008 - Swaine’s Flames (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.