发表于2024-11-19
Inside Web Dynpro for Java 2024 pdf epub mobi 电子书
图书标签: WebDynpro SAP
Inside Web Dynpro for Java (2nd Edition)
by Chris Whealy
Hardcover, 532 pages
ISBN 978-1-59229-092-5
Fully updated and significantly expanded, this 2nd edition of the bestselling developers' guide teaches readers how to obtain the best results from Web Dynpro for Java in release SAP NetWeaver 7.0.
Starting with the origins of Web Dynpro, the component concept, design principles and the phase model, this book leaves no questions about the backgrounds open. Then, learn everything you need to know about basic development topics like the context at design- and runtime, the handling of UI elements, and multi-language applications. Experienced developers will further benefit greatly from chapters on advanced topics like dynamic context manipulation, navigation and error handling, or the Adaptive RFC layer.
The author's extensive experience with developing and implementing Web Dynpro applications since the very first Web Dynpro release, the invaluable tips, best practices and caveats he shares with his readers make this book a must-read reference for every serious Web Dynpro for Java developer.
Highlights
* Web Dynpro Component Concept
* Designing a Web Dynpro Application
* The Web Dynpro Phase Model
* The Context at design- and runtime
* Working with UI Elements
* Multilanguage Applications
* Navigation and Error Handling
* The Adaptive RFC Layer
* JCo Connection Management
About the Author(s)
Chris Whealy is a Web Dynpro Java Expert in the SAP NetWeaver Regional Implementation Group (RIG) EMEA. He has been working with Web Dynpro since 2002. Since then, Chris has written numerous articles and web presentations about various aspects of Web Dynpro technology, often speaks at SAP TechEd, and is the author of several SAP training courses.
Table of Contents
Part I: ... Background ... 29
1 Introduction ... 29
... 1.1 ... Why Did SAP Decide to Build Their Own Web Development Framework? ... 29
... 1.2 ... What Is Web Dynpro? ... 30
... 1.3 ... Causes of Poor Web Dynpro Implementations ... 32
... 1.4 ... How Web Dynpro Differs from Other Web Development Tools ... 32
... 1.5 ... The Fundamental Difference Between Web Dynpro and Other Web Development Tools ... 34
... 1.6 ... A Quick History Lesson ... 35
... 1.7 ... The Design Philosophy Behind Web Dynpro ... 38
... 1.8 ... The Influence of MVC on Web Dynpro ... 40
... 1.9 ... The Influence of SAP's Requirements on Web Dynpro ... 45
... 1.10 ... The Influence of Focus Groups on Web Dynpro ... 47
... 1.11 ... What Do I Need To Understand To Be Successful with Web Dynpro? ... 47
... 1.12 ... Is Writing a Web Dynpro Program Just a Matter of Writing Models, Views, and Controllers? ... 48
Part II: ... The Fundamental Concepts ... 53
2 The Web Dynpro Component Concept ... 53
... 2.1 ... A Typical MVC Architecture ... 53
... 2.2 ... The Web Dynpro Component Concept ... 55
... 2.3 ... Inside the Web Dynpro Component ... 58
... 2.4 ... What Do the Different Parts of the Component Do? ... 60
... 2.5 ... Inside a Web Dynpro Controller ... 65
... 2.6 ... Communication Between Controllers ... 79
... 2.7 ... Web Dynpro Applications or "Where Does My Component Sit in the Big Scheme of Things?" ... 83
... 2.8 ... Managing Web Dynpro Components ... 87
3 ... Designing a Web Dynpro Application ... 89
... 3.1 ... The SAP Component Model ... 89
... 3.2 ... Architectural Concepts of the NWDI ... 95
... 3.3 ... Building Web Dynpro Applications Using the NWDI ... 98
... 3.4 ... Preparation and Planning ... 103
... 3.5 ... Design ... 113
... 3.6 ... Implementation ... 129
4 ... Web Dynpro Phase Model ... 141
... 4.1 ... Phase Model Processing and Component Instantiation ... 143
... 4.2 ... Web Dynpro Hook Methods ... 143
... 4.3 ... The Relationship Between Phase Model Processing and Web Dynpro Windows ... 144
... 4.4 ... Phase Model Processing ... 145
... Part 1 ... 145
... Part 2 ... 158
... 4.5 ... Summary ... 159
Part III: ... Basic Development ... 163
5 ... The Context at Design Time ... 163
... 5.1 ... Nodes ... 163
... 5.2 ... Attributes ... 164
... 5.3 ... Node and Attribute Data Types ... 164
... 5.4 ... Context Attribute Data Types that Can Supply Data to UI Elements ... 167
... 5.5 ... Terminology Concerning Nodes and Attributes ... 168
... 5.6 ... What's the Difference Between Value Nodes and Model Nodes? ... 169
... 5.7 ... The Most Important Node Properties to Understand ... 171
... 5.8 ... Should Node Names Be Singular or Plural? ... 177
... 5.9 ... General Naming Conventions ... 178
... 5.10 ... Identifying a Specific Node Attribute ... 179
... 5.11 ... Calculated Attributes ... 180
... 5.12 ... Internal Context Mapping ... 186
... 5.13 ... External Context Mapping ... 187
... 5.14 ... Supply Functions ... 189
... 5.15 ... Dispose Functions ... 194
... 5.16 ... Coding Principles for Supply and Dispose Functions ... 200
... 5.17 ... Recursive Context Nodes ... 200
... 5.18 ... Fundamental Principles of the Context ... 205
6 ... Context Structure at Runtime ... 207
... 6.1 ... Generated Classes ... 207
... 6.2 ... Working with Value Nodes ... 213
... 6.3 ... Working with Model Nodes ... 230
... 6.4 ... Working with Recursive Nodes ... 233
... 6.5 ... Using the WDCopyService ... 233
7 ... UI Elements ... 237
... 7.1 ... How are UI Elements Stored Within a View Controller? ... 237
... 7.2 ... Editing a View Layout ... 238
... 7.3 ... Putting Data on the Screen ... 239
... 7.4 ... Avoiding a Possible Source of Confusion ... 244
... 7.5 ... Layout Managers ... 246
... 7.6 ... Composite UI Elements ... 254
... 7.7 ... UI Element Events and View Controller Actions ... 258
... 7.8 ... Parameter Mapping ... 264
... 7.9 ... Generic UI Services ... 272
... 7.10 ... Using Messages and the Message Manager ... 278
8 ... Writing Multilanguage Applications ... 287
... 8.1 ... Internationalization ... 287
... 8.2 ... Externalization ... 287
... 8.3 ... Web Dynpro i18n Concept ... 288
... 8.4 ... S2X: SAP's Use of the XLIFF Standard ... 289
... 8.5 ... Storing Language-Specific Text in XLF Files ... 290
... 8.6 ... Translating XLF Files ... 291
... 8.7 ... Use of the S2X Editor Within NWDS ... 291
... 8.8 ... Editing Message Pool XLF Files ... 292
... 8.9 ... Runtime Locale Determination ... 294
Part IV: ... Advanced Development ... 297
9 Dynamic Context Manipulation ... 297
... 9.1 ... Dynamic Addition of an Unmapped Context Node ... 297
... 9.2 ... Dynamic Addition of a Mapped Context Node ... 303
10 ... Advanced Use of the UI ... 311
... 10.1 ... Working with Tree UI Elements ... 311
... 10.2 ... Efficient Use of Actions to Enable and Disable UI Elements ... 319
... 10.3 ... Programmatic Assignment of Actions to UI Element Objects ... 320
... 10.4 ... Accessing Existing UI Elements in a View Layout ... 322
... 10.5 ... Introduction to Dynamic View Generation ... 331
... 10.6 ... The Principles of Dynamic View Construction ... 332
... 10.7 ... Dynamic Construction of a UI Element Hierarchy ... 335
... 10.8 ... Implementing an OVS ... 348
11 ... Navigation and Error Handling ... 359
... 11.1 ... Navigation Processing ... 359
... 11.2 ... Suspend and Resume Plugs ... 368
... 11.3 ... Error Handling ... 376
12 ... Components at Runtime ... 387
... 12.1 ... Web Dynpro Components and Polymorphism ... 387
... 12.2 ... Pop-Up Windows ... 392
... 12.3 ... Application and URL Properties ... 403
13 ... The Adaptive RFC Layer ... 407
... 13.1 ... A Brief History Lesson ... 407
... 13.2 ... General Introduction to BAPIs ... 413
... 13.3 ... Custom-Written RFC Modules ... 417
... 13.4 ... Introduction to the Adaptive RFC Layer ... 418
... 13.5 ... Creating Adaptive RFC Models ... 421
... 13.6 ... Structuring a Model ... 425
... 13.7 ... Explanation of Generated Model Classes ... 426
... 13.8 ... Web Dynpro Models and Development Components ... 433
... 13.9 ... Using Model Objects in a Web Dynpro Controller ... 434
... 13.10 ... Altering a Model Object's Logical System After It Has Been Created ... 437
... 13.11 ... A Simple Example Using Context Model Nodes at Runtime ... 439
... 13.12 ... Adapting to Changes in an RFC Interface ... 459
14 ... JCo Connection Management ... 467
... 14.1 ... Connecting to an SAP System ... 467
... 14.2 ... Identifying the Correct Backend System ... 469
... 14.3 ... The JCo Pool Concept ... 474
... 14.4 ... Pool Usage at Runtime ... 477
... 14.5 ... Model Scope Type ... 482
... 14.6 ... Calculating JCO Pool Size ... 484
... 14.7 ... Metadata Connections ... 485
... 14.8 ... Impact of JCo Connections on the SAP Gateway Process ... 486
... 14.9 ... Relationship Between JCO Destinations and ABAP Sessions ... 489
... 14.10 ... Avoiding the Read–Write–Read Problem ... 492
A ... Web Dynpro Naming Placeholders ... 499
A.1 ... Web Dynpro Component Architecture ... 499
A.2 ... Web Dynpro Controllers ... 499
A.3 ... Model Objects ... 500
A.4 ... NetWeaver Development Infrastructure Entities ... 500
A.5 ... Context Entities ... 500
A.6 ... Generic and Composite Abbreviations ... 501
A.7 ... Subscripts for Composite Placeholders Using the SAP Recommended Suffixes ... 502
A.8 ... AS Java Placeholders ... 503
B ... Naming Conventions ... 505
B.1 ... General Rules for Naming ... 505
B.2 ... Naming Conventions for Coding Entities ... 505
B.2.1 ... Applications: ${na} = ${a}App ... 505
B.2.2 ... Components: ${nc} = ${c}Comp ... 506
B.2.3 ... Component Interface Views: ${nciv} = ${w}InterfaceView ... 506
B.2.4 ... Component Usage: ${nu} = ${nc}${p}Inst or ${cid}${p}Inst ... 506
B.2.5 ... Custom Controllers: ${ncc} = ${cc}Cust ... 506
B.2.6 ... Inbound Plugs: ${npi} = ${pin}In ... 506
B.2.7 ... Models: ${nm} = ${m}Model ... 507
B.2.8 ... Outbound Plugs: ${npo} = ${pout}Out ... 507
B.2.9 ... Component Interface Definition: ${ncid} = ${cid}CompI ... 507
B.2.10 ... Component Interface View Definition: ${nciv} = ${ncid} ... 507
B.2.11 ... Views: ${nv} = ${v}View ... 507
B.2.12 ... Viewsets: ${nvs} = ${vs}Viewset ... 508
B.2.13 ... Windows: ${w} = ${nc} or ${nc}Window or Window ... 508
C ... Exercise to Display a File System Using a Recursive Context Node Structure ... 509
C.1 ... Create a New Web Dynpro DC ... 509
C.2 ... Create a Web Dynpro Component ... 510
C.3 ... Create a Java Bean to Represent a Directory Entry ... 510
C.4 ... Import the Java Bean as a Model ... 512
C.5 ... Component Controller Configuration ... 513
C.5.1 ... Declare Model Usage ... 513
C.5.2 ... Context Configuration ... 513
C.5.3 ... Method Declarations and Coding ... 514
C.6 ... View Controller Configuration ... 517
C.6.1 ... Context Configuration ... 517
C.6.2 ... Create an Action ... 517
C.6.3 ... Editing the View Layout ... 518
C.6.4 ... View Controller Implementation ... 518
C.7 ... Create an Application ... 519
C.8 ... Comment on the Use of Standard SAP Icons ... 520
D ... ABAP Coding ... 521
E ... Dictionary Structures ... 525
F ... The Author ... 527
Index
Inside Web Dynpro for Java 2024 pdf epub mobi 电子书