Building Web Applications with UML

by
Edition: 2nd
Format: Paperback
Pub. Date: 2002-10-03
Publisher(s): Addison-Wesley Professional
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $49.99

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Identifies and addresses modeling problems unique to page based web applications, and offers a clear and straightforward solution. Provides enhanced coverage of the latest security concerns regarding Web applications. Softcover.

Author Biography

Jim Conallen is the Web Modeling Evangelist at Rational Software Corporation, where he has continued his work on the development of the Web Application Extension for the Unified Modeling Language. Prior to joining Rational, he was a consultant specializing in full life cycle object-oriented development. He has built client/server and web-based systems in the transportation, telecommunications, and health care domains; has architected large, high-volume transaction processing systems; and has designed and developed applications in C++, Smalltalk, Java, Delphi and Visual Basic. Jim is a frequent speaker on topics ranging from web application modeling to software best practices. He has written for many industry publications, including ASPToday.com, Rose Architect, and Communications of the ACM.



0201730383AB06262002

Table of Contents

Forewordp. xiii
Prefacep. xv
Overview of Modeling and Web-Related Technologiesp. 1
Introductionp. 3
What This Book Is Aboutp. 3
Role of Modelingp. 4
Role of Processp. 6
Influences of Architecturep. 6
Web Application Basicsp. 9
HTTPp. 10
Document Identificationp. 10
Domain Namesp. 11
Resource Identifiersp. 13
Fault Tolerancep. 13
HTMLp. 14
Anchorsp. 17
Formsp. 18
Framesp. 21
Web Applicationsp. 22
Client State Managementp. 23
Enabling Technologiesp. 26
Dynamic Clientsp. 31
Document Object Modelp. 33
Scriptingp. 36
JavaScript Objectsp. 37
Custom JavaScript Objectsp. 39
Eventsp. 40
Java Appletsp. 43
ActiveX/COMp. 45
Beyond HTTP and HTMLp. 49
Distributed Objectsp. 49
RMI/IIOPp. 52
DCOMp. 55
XMLp. 57
Web Servicesp. 63
SOAPp. 64
UDDIp. 65
WSDLp. 66
Securityp. 71
Types of Security Riskp. 72
Technical Riskp. 73
Server-Side Risksp. 77
Client-Side Risksp. 79
Cookiesp. 79
JavaScriptp. 80
Javap. 81
ActiveXp. 83
Plug-ins and MIME Typesp. 84
Security Strategiesp. 85
Encryptionp. 86
Best Practicesp. 88
Modeling Secure Systemsp. 89
Building Web Applicationsp. 93
The Processp. 95
Overview of Software Developmentp. 96
Software Development for Web Applicationsp. 100
Develop Softwarep. 101
Iteratep. 104
Software Iterationp. 105
The Artifactsp. 108
Project Management Setp. 111
Domain Setp. 113
Requirements Setp. 114
Analysis Setp. 117
Design Setp. 120
Implementation Setp. 123
Test Setp. 127
Deployment Setp. 128
Defining the Architecturep. 133
Architectural Viewpointsp. 135
Requirements Viewpointp. 135
Design Viewpointp. 136
Realization Viewpointp. 136
Test Viewpointp. 137
Viewpoint Mappingsp. 138
Architecture Activitiesp. 139
Examining and Prioritizing Use Casesp. 139
Developing Candidate Architecturesp. 141
Prototyping: Knowing When to Stopp. 142
Web Application Presentation Tier: Architectural Patternsp. 143
Thin Web Clientp. 145
Thick Web Clientp. 149
Web Deliveryp. 155
Requirements and Use Casesp. 161
The Visionp. 161
Requirementsp. 164
Glossaryp. 167
Gathering and Prioritizing Requirementsp. 168
Use Casesp. 173
The Use Case Modelp. 176
Avoiding Functional Decompositionp. 179
Use Case Model Structurep. 183
The User Experiencep. 185
The User Experiencep. 187
Artifacts of the UX Modelp. 188
Screensp. 189
Storyboardsp. 192
Navigational Pathsp. 192
UX Modeling with UMLp. 193
Screen Flowp. 196
User Inputp. 200
Screen Compartmentsp. 203
Storyboard Realizationsp. 204
Navigational Mapp. 210
UX Model Stereotype Summaryp. 210
Analysisp. 215
Iterationp. 216
Analysis Model Structurep. 217
Defining the Top-Level Modelp. 218
Analysis Elementsp. 221
Structural Elementsp. 222
Behavioral Elementsp. 225
UX Model Mappingp. 230
Architecture Elaborationp. 231
Designp. 233
Web Application Extension for UMLp. 236
Logical Viewp. 237
Component Viewp. 242
Designing Web Applicationsp. 246
Thick Web Client Applicationsp. 246
Web Delivery Web Applicationsp. 247
Identifying Web Pagesp. 247
Client-Side Scriptingp. 253
Mapping to the UX Modelp. 257
Integrating with Content Management Systemsp. 260
Guidelines for Web Application Designp. 261
Advanced Designp. 265
HTML Framesp. 265
Advanced Client-Side Scriptingp. 271
Script Librariesp. 271
Script Objectsp. 273
Virtual and Physical HTTP Resourcesp. 273
JavaServer Page Custom Tagsp. 281
Implementationp. 287
Number Store Main Control Mechanismp. 289
Glossary Application Tag Librariesp. 300
Appendices
Web Application Extension Profile Version 2p. 315
Overviewp. 315
HTML to UMLp. 315
URL Resolutionp. 316
Elementsp. 318
UML to HTMLp. 347
Component Packagesp. 348
Componentsp. 348
Classesp. 349
Association Class: [double left angle bracket]URL Parameters[double right angle bracket]p. 358
Associationsp. 358
Mapping Web Elements to UML, and Vice Versap. 363
JavaServer Page to UMLp. 363
UML to JavaServer Pagep. 369
The Number Store Reference Applicationp. 377
Visionp. 377
Backgroundp. 377
Requirements and Featuresp. 378
Software Architecture Documentp. 379
Requirements Viewp. 379
Use Case Viewp. 381
User Experience Viewp. 382
Designp. 385
Component Viewp. 401
Sample Screen Shotsp. 406
Controlled Controllers Patternp. 411
Use Case Viewp. 411
Analysis Model Classesp. 415
Analysis Model Collaborationsp. 418
Master Template Patternp. 423
Overviewp. 423
Use Case Viewp. 423
Logical Viewp. 425
Glossary Applicationp. 429
Introductionp. 429
Requirements and Use Case Modelp. 429
User Experience Modelp. 431
Design Modelp. 431
Client Tierp. 431
Presentation Tierp. 435
Entity Tierp. 438
Data Tierp. 438
Component Viewp. 441
Sample Screen Shotsp. 444
Indexp. 449
Table of Contents provided by Syndetics. All Rights Reserved.

Excerpts

The first edition of this book hit the streets late in 1999. For the most part, it was based on my experiences in developing Active Server Page-based applications for the retail and healthcare industries. I was an independent consultant then, but shortly before finishing the book I joined Rational Software Corporation. Working for Rational has given me the opportunity to visit and to work with many organizations that are in the process of building Web-centric applications. And I've seen everything, from well-managed teams producing top-quality software to chaotic teams desperately seeking the right guidance to a few others that still seem to be in denial. In the two years since the publication of the first edition, I've also seen the rise of the J2EE platform, and have to say that since then most of my Web application development experience has been with J2EE architectures. As a result, most of the material in this second edition is oriented toward the Java environment. This doesn't mean that .NET developers, or even Cold Fusion and PHP developers, can't build applications with the guidance in this book. You can. It's just that the majority of the examples in the design and implementation chapters, and in the reference applications, are written for JavaServer Page-based applications. The ideas in this book and in the previous edition are all the result of a desire to combine my object-oriented skills and the area of Web application development. I had little problem applying use case analysis, and it wasn't until I started creating analysis and design models that I realized things were going to get difficult. When creating a Web application, my conceptual focus was always on the Web page; and my idea of a model kept revolving around the concept of a site map. I knew that the navigation paths throughout the system were incredibly important to understanding the application and that any system model would have to include them. My earliest attempts at modeling Web applications started with Rumbaugh's OMT (Object Modeling Technique), and later when UML (Unified Modeling Language) version 0.8 was publicly released, I began to apply it. I knew that for any modeling technique to be useful it needed to capture both the relevant semantics of Web-specific elements (e.g., Web pages and hyperlinks) and their relation to the back-end elements of the system (e.g., middle-tier objects and databases). At the time, I found both OMT and UML inadequate to express the things I thought were important in a Web application. Being a somewhat successful object practitioner and engineer, I jumped to the conclusion that a whole new development methodology and notation was needed. After all, if the existing methods and notation didn't have what I needed, then the obvious solution was to invent one. This, of course, is a trap into which many of us in the software industry fall. In my free time, I started to draft new graphical and semantic ways to represent Web application architectures. Proud of my work, I began showing it to two of my colleagues--Joe Befumo and Gerald Ruldolph, both experienced object practitioners. Their immediate reaction was, Why? I tried to explain the issues involved with Web application development and the need for visually expressing their designs. Still, everyone I spoke with continued to think that developing a new method and notation was overkill. I started to rethink what I was doing. I wasn't stuck up enough to think that I was right and everyone else was wrong; I had more homework to do. I reexamined my original needs: to express Web application designs at the appropriate level of abstraction and detail, and most important, as a part of the rest of the system's design. Because UML was taking the industry by storm, I realized that anything I did would have to work with UML. So I went back to UML; t

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.