Morgan Kaufmann series in data management systems: Designing data-intensive Web applicationsMorgan Kaufmann, 2003 - 562 pages
|
Contents
Technologies for Web Applications | 3 |
The Foundation of Web Technology | 4 |
The Hypertext Transfer Protocol | 5 |
The Hypertext Markup Language | 8 |
123 ClientSide Scripting for Enhancing Page Interactivity | 11 |
124 ClientSide Components for Enhancing Client Functionality | 15 |
HTML 4 and Cascading Style Sheets | 18 |
extensible Markup Language | 21 |
82 Characterizing Entities in the Data Schema | 252 |
83 The Process of Data Design | 253 |
831 Designing the Core Subschema | 255 |
832 Designing an Interconnection Subschema | 256 |
834 Designing a Personalization Subschema | 259 |
84 Running Example | 264 |
843 Definition of the Access Subschema | 266 |
844 Definition of Interconnection Subschemas | 268 |
132 Presenting XML Documents Using XSL | 27 |
The Structured Query Language for Relational Databases | 32 |
Building Web Pages on the Fly | 36 |
151 Common Gateway Interface | 37 |
152 Web Server Extensions | 40 |
153 Implementing Application State over HTTP | 43 |
154 ServerSide Scripting | 46 |
155 ServerSide Executable Tags | 48 |
156 Increasing Scalability with Application Servers | 50 |
157 Threetier Architectures | 54 |
158 MultiDevice Content Publishing with XML | 55 |
Summary | 57 |
MODELS FOR DESIGNING WEB APPLICATIONS | 59 |
Data Mode | 61 |
22 Entities | 62 |
222 Identification and Primary Key | 63 |
223 Attribute Types | 64 |
224 Generalization Hierarchies | 66 |
23 Relationships | 67 |
231 Nary Relationships and Relationships with Attributes | 69 |
24 Derived Information | 71 |
25 Running Example | 73 |
26 Modeling Data Using UML | 74 |
Summary | 75 |
Bibliographic Notes | 76 |
Hypertext Mode | 77 |
32 Units | 79 |
321 Data Units | 80 |
322 Multidata Units | 82 |
323 Index Units | 83 |
324 Scroller Units | 88 |
325 Entry Units | 89 |
33 Pages | 91 |
34 Links | 92 |
342 Link Parameters and Parametric Selectors | 94 |
343 Automatic and Transport Links | 104 |
35 Global Parameters | 106 |
36 Hypertext Organization | 110 |
362 Areas Landmarks and Home Pages | 111 |
363 Nested Pages | 114 |
37 Patterns for Content Publishing | 117 |
372 Filtered Index | 118 |
373 Filtered Scrolled Index | 119 |
374 Guided Tour | 120 |
375 Indexed Guided Tour | 121 |
376 Object Viewpoints | 122 |
377 Nested Data | 123 |
378 Hierarchical Index with Alternative SubPages | 124 |
379 Reusable Units | 125 |
38 Running Example | 127 |
39 Representing WebML Hypertexts Using UML | 129 |
Summary | 134 |
Bibliographic Notes | 135 |
Content Management Model | 137 |
42 Operations | 138 |
43 Predefined Operations | 139 |
431 Object Creation | 140 |
432 Object Deletion | 143 |
433 Object Modification | 146 |
434 Relationship Creation | 149 |
435 Relationship Deletion | 152 |
44 Transactions | 156 |
45 Content Management Patterns | 157 |
452 Cascaded Delete | 158 |
46 Operations for Access Control and for Sending Email | 160 |
462 Logout Operation | 161 |
47 Generic Operations | 163 |
48 Running Example | 165 |
49 Representing WebML Operations Using UML | 170 |
Summary | 174 |
Advanced Hypertext Model | 175 |
52 Computation of a Page | 176 |
521 Examples of Page Computation | 181 |
522 Preserving Input of Units Across Pages | 183 |
523 NonComputable and Nondeterministic Hypertexts | 186 |
Summary | 189 |
DESIGN OF WEB APPLICATIONS | 191 |
Overview of the Development Process | 193 |
62 Inputs and Outputs | 194 |
63 Development Roles | 195 |
64 Development Lifecycle | 196 |
641 Requirements Specification | 197 |
642 Data Design | 198 |
644 Deployment of the Web Application | 199 |
Bibliographic Notes | 201 |
Requirements Specifications | 203 |
72 Requirements Collection | 204 |
721 Identification of Users | 205 |
723 Data Requirements | 206 |
725 DeviceSpecific Customization Requirements | 208 |
73 Requirements Analysis | 210 |
731 Group Specification | 211 |
732 Use Case Specification | 212 |
733 Data Dictionary Specification | 215 |
734 Site View Specification | 217 |
736 Acceptance Tests Specification | 221 |
741 Business Requirements | 222 |
743 Functional Requirements | 226 |
744 Data Dictionary | 231 |
745 Site View Identification | 237 |
746 Style Guidelines and Page Mockups | 238 |
747 Acceptance Tests | 241 |
Summary | 247 |
Data Design | 249 |
845 Design of Personalization Subschema | 269 |
Summary | 271 |
Hypertext Design | 273 |
92 Coarse Design | 275 |
93 Detailed Design | 279 |
94 Page Specification Using Hypertext Subschemas | 281 |
941 Access Hypertext Subschema | 282 |
942 Core Hypertext Subschema | 285 |
943 Interconnection Hypertext Subschema | 286 |
944 Personalization Subschema | 287 |
945 Content Management Hypertext Subschema | 292 |
946 Factoring Out Replicated Units Using OR Subpages | 293 |
95 Running Example | 296 |
96 Designing Usable Hypertexts | 310 |
961 Choice of Access and Core Patterns | 311 |
962 Navigation Aids | 314 |
963 Orientation Aids | 316 |
964 Search | 317 |
965 Consistency | 319 |
97 Hypertext Modeling for MultiDevice Applications | 321 |
Summary | 323 |
Bibliographic Notes | 324 |
IMPLEMENTATION OF WEB APPLICATIONS | 327 |
Architecture Design | 329 |
102 Dimensions of Architecture Design | 331 |
1022 Constraints of Architecture Design | 332 |
103 Designing the Hardware and Network Architecture | 333 |
1032 Separation of the Database Server | 336 |
1033 Exploiting Replication and Parallelism | 337 |
1034 Separation of the Web Server and Scripting Engine | 341 |
1035 Configuration with an Application Server | 342 |
104 Techniques for Testing and Improving Performance | 344 |
1042 Setting Up the Test Environment | 345 |
1043 Verifying Performance | 346 |
1044 Identifying and Removing Bottlenecks | 347 |
105 Web Caching | 351 |
1051 What to Cache | 352 |
1052 Where to Cache | 353 |
1053 When to Cache and to Refresh the Cache | 354 |
1054 Caching Dynamic Content Using a Server Accelerator and Caching Directives | 356 |
Summary | 358 |
Bibliographic Notes | 359 |
Data Implementation | 361 |
112 Standard Mapping | 364 |
1122 Mapping BLOB Attributes | 365 |
1123 Mapping Relationships | 367 |
1124 Mapping Generalization Hierarchies | 371 |
1125 Mapping Derived Data Using Views | 374 |
1126 Physical Design Tips | 377 |
1127 Running Example | 378 |
113 Data Management Issues and Architectures | 380 |
1131 Schema Integration | 381 |
1132 Data Integration | 383 |
1134 Implementation of Online Database Architectures | 388 |
Summary | 392 |
Hypertext Implementation | 395 |
122 Overview of the Page Computation Steps | 396 |
123 Implementing Pages Content Units and Links | 400 |
1232 Interpage Links | 404 |
1233 Intrapage Links | 411 |
1234 Entry Units | 416 |
1235 MultiChoice Index Unit Linked to a Multidata Unit | 419 |
1236 Areas Landmark Pages and Nested Subpages | 424 |
124 Implementing Operations | 427 |
1241 General Schema of Operation Implementation | 428 |
1242 Deletion of an Object Chosen from an Index | 431 |
1243 Entry Unit Linked to a Create Unit | 432 |
1244 Create and Connect Pattern | 439 |
1245 Login Logout and Global Parameters for the Current User and Group | 444 |
125 Implementing Set and Get Units and Complex Pages | 446 |
Summary | 453 |
Bibliographic Notes | 454 |
Advanced Hypertext Implementation | 457 |
132 Improving the Software Architecture | 458 |
133 ModelViewController Architecture | 461 |
1331 ModelViewController Architecture Applied to Web Applications | 463 |
134 Mapping WebML to the MVC Architecture | 466 |
1342 Mapping Content Units to the MVC Architecture | 471 |
1343 Mapping Entry Units to the MVC Architecture | 473 |
1344 Mapping Operations to the MVC Architecture | 475 |
135 Managing Very Large Applications | 479 |
136 Using Enterprise JavaBeans to Implement the Business Logic | 481 |
1361 Wrapping Persistent Data with Entity Beans | 485 |
1362 Implementing Page Services and Content Unit Services as Enterprise Java Beans | 489 |
1363 Implementing Operation Units as Enterprise Java Beans | 490 |
137 Using CSS and XSL to Manage Presentation | 491 |
Summary | 496 |
Tools for ModelBased Development of Web Applications | 499 |
142 Data and Hypertext Design | 502 |
143 Data Mapping | 504 |
144 Presentation Design | 506 |
145 Code Generation | 508 |
146 Other Features | 509 |
1462 Cooperative Work | 510 |
1463 Automatic Documentation | 511 |
Summary | 515 |
Summary of WebML Elements | 519 |
WebML Syntax | 525 |
OCL Syntax | 533 |
Summary of WebML Elements Implementation | 537 |
543 | |
551 | |