Inside Web Dynpro for Java
Home > Computing and Information Technology > Business applications > Enterprise software > SAP (Systems, applications and products in databases) > Inside Web Dynpro for Java
Inside Web Dynpro for Java

Inside Web Dynpro for Java


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

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

About the Author :
Chris Whealy first started working on SAP R/2 systems in 1993 making assembler and ABAP modifications to the RV and RF modules. With the launch of SAP R/3 version 2.0, he started working in the Basis area performing installations, upgrades and system administration. This work went hand in hand with his on going ABAP work. Joining SAP UK in May 1995, Chris has always had an interest in custom interfaces into and out of the R/3 system, so in 1996 when the internet boom started to take hold, he began to focus on browser based interfaces to R/3 using SAP's Internet Transaction Server. Chris has worked with SAP's web based technology as it has grown and matured, and in late 2002 turned his attention to Web Dynpro. Chris spent a significant proportion of 2003 working closely with the Web Dynpro development team in Walldorf both learning the new technology and documenting its inner workings. In October 2003, Chris was able to put his knowledge into practice when he started work as the lead technical consultant for a large Web Dynpro based project at the UK subsidiary of a major international Tax and Audit firm.


Best Sellers


Product Details
  • ISBN-13: 9781592290925
  • Binding: Hardback
  • Language: English
  • ISBN-10: 1592290922
  • Edition: Revised edition
  • Returnable: N


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Inside Web Dynpro for Java
-
Inside Web Dynpro for Java
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Inside Web Dynpro for Java

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!