Titre : | Abap web dynpro : le développement d'applications web sous SAP NetWeaver | Type de document : | texte imprime | Auteurs : | Youssoupha Diop ; Mathieu Jourdan | Editeur : | Paris : ENI | Année de publication : | cop. 2011 | Collection : | Epsilon | Importance : | 770 p. | Présentation : | ill., couv. ill. en coul. | Format : | 21 cm | ISBN/ISSN/EAN : | 978-2-7460-6144-6 | Note générale : | Index | Langues : | Français | Mots-clés : | ABAP (langage de programmation) SAP Netweaver (logiciel) | Index. décimale : | 004 | Résumé : |
Ce livre s’adresse aux développeurs ABAP désireux de s’initier à la programmation d’interface utilisateur web sous SAP. Il s’adresse également aux architectes, et chefs de projets SAP désireux de comprendre les tenants et les aboutissants de cette technologie livrée par SAP dans les dernières versions de son serveur d’application web (WAS : Web Application Server).
Sur l’ensemble des chapitres l’ouvrage détaille un cas concret de réalisation d’une application ABAP Web Dynpro complète : la gestion d’une chaine hôtelière (système de réservation hôtelier). Ce développement met en lumière dans chaque chapitre une technique particulière ou un élément du framework ABAP Web Dynpro. Ainsi, le lecteur évolue de façon progressive dans la compréhension de l’ensemble des éléments nécessaires à la réalisation d’applications web utilisant ce framework et dispose, à la fin du livre, d’une application fonctionnelle.
Dans les premiers chapitres, les auteurs reprennent les bases du développement ABAP Orienté Objet puis présentent de manière détaillée l’architecture des composants ABAP Web Dynpro, le moteur d’exécution (le runtime) ainsi que l’outil de développement ABAP Workbench. Les chapitres suivants détaillent la programmation des contrôleurs et du contexte ainsi que la description et l’utilisation des éléments graphiques composant l’interface utilisateur. Plus particulièrement, un chapitre est consacré à la programmation dynamique, permettant de générer à la volée une interface utilisateur en fonction d’événements ou d’actions utilisateur se basant sur des conditions ou des cas non définissables au moment du développement. Le chapitre dédié à la programmation multi composants permet au lecteur d’aborder ce concept important qui est la base de la programmation en ABAP Web Dynpro : la réutilisation des composants. Celui dédié à la personnalisation, au paramétrage et à la configuration d’un composant et/ou d’une application Abap Web Dynpro présente la configuration implicite et explicite donnant aux applications Abap Web Dynpro une souplesse d’utilisation en fonction du type d’utilisateur et la possibilité pour tout utilisateur de modifier son interface suivant ses besoins.
L’ouvrage se voulant concret, un chapitre décrit les bonnes pratiques de la programmation Abap Web Dynpro (optimisation des requêtes sur la base de données, respect du modèle de programmation MVC, gestion de la performance, bonne utilisation des éléments graphiques mis à la disposition du développeur, etc.). Un autre chapitre dédié à l’intégration des applications Abap Web Dynpro avec le reste des composants fournis par SAP tel que le portail SAP (SAP Enterprise Portal), à l’internationalisation d’une application web et à l’accessibilité, décrit aussi certains frameworks utilisant les listes de travail (ou POWL : Personal Object Worklist) ou se mettant au-dessus du framework Abap Web Dynpro (FPM : Floor Plan Manager). Un dernier chapitre répertorie les APIs les plus importantes du framework pour aider le développeur à acquérir rapidement les bonnes bases dans l’utilisation des classes et interfaces composant le framework Abap Web Dynpro.
Les solutions des exercices du livre sont en téléchargement sur www.editions-eni.fr.
| Note de contenu : |
Avant-propos
1. Introduction 15
2. Les pré-requis 15
3. À qui s'adresse cet ouvrage ? 16
4. Quel est l'objectif de cet ouvrage ? 16
5. Comment lire cet ouvrage ? 17
6. Le contenu additionnel en ligne 17
7. Le système utilisé et la configuration minimum 17
8. Les questions et commentaires à propos du livre 18
Chapitre 1 Introduction
1. Introduction 19
1.1 Les applications Web dans SAP 20
1.2 Le contenu de l'ouvrage 22
Chapitre 2 Étude de cas
1. Les objectifs 27
2. La description de l'étude de cas 27
2.1 La carte de navigation 28
2.2 La page de recherche d'un hôtel 29
2.3 La page de résultat de la recherche 30
2.4 La fenêtre de localisation 31
2.5 Le détail de l'hôtel sélectionné 32
2.6 La fenêtre de réservation 33
3. Les éléments techniques 34
3.1 Le diagramme de classes 34
3.2 Le modèle de données 35
Chapitre 3 Présentation de l'Abap Orienté objet
1. Introduction 37
2. Les objectifs 37
3. La programmation analytique ou procédurale 37
4. La programmation orientée objet 40
4.1 L'encapsulation 41
4.2 L'héritage 42
4.3 Le polymorphisme 42
5. L'Abap Objet 43
5.1 L'Objet 43
5.2 La classe 43
5.2.1 La classe globale 44
5.2.2 La définition d'une classe locale 44
5.2.3 Les composants d'une classe 45
5.3 Les attributs 46
5.4 Les méthodes 47
5.5 Les événements 50
5.6 L'instanciation d'une classe 52
5.6.1 La création d'un objet 52
5.6.2 Le Garbage collector 55
5.6.3 L'utilisation des différents objets 55
5.7 Les interfaces 57
5.7.1 La définition et l'implémentation d'une interface 58
5.7.2 Le cast de réduction et le cast d'élargissement 59
6. En résumé 61
7. Exercices 61
7.1 Objectifs 61
7.2 Création d'une classe 61
7.2.1 Exercice 61
7.2.2 Solution 62
7.3 Instanciation d'une classe 68
7.3.1 Exercice 68
7.3.2 Solution 69
Chapitre 4 Architecture d'un composant Abap Web Dynpro
1. Introduction 73
2. Les objectifs 73
3. Le modèle de programmation 73
4. Le métamodèle Abap Web Dynpro 75
5. Le composant Abap Web Dynpro 76
5.1 Le contrôleur de composant 77
5.1.1 Les événements 78
5.1.2 Le contexte 78
5.2 La vue 79
5.2.1 Le layout de la vue 79
5.2.2 Lien entre un élément graphique et un attribut du contexte 80
5.2.3 Lien entre contextes 81
5.2.4 Les plugs et les navigations links 82
5.2.5 Les actions 83
5.3 La fenêtre 83
5.4 Le modèle 84
5.5 Le contrôleur personnalisable 85
5.6 L'interface du composant 86
5.7 L'application Abap Web Dynpro 87
5.8 Les caractéristiques des différents contrôleurs 88
5.8.1 La durée de vie d'un composant 88
5.8.2 La durée de vie d'une vue 89
5.8.3 Les caractéristiques des contrôleurs 89
5.8.4 La réutilisation des composants 90
6. L'explorateur Abap Web Dynpro 90
6.1 L'éditeur de composant 93
6.2 L'éditeur de contrôleur 94
6.3 L'éditeur de vue 98
6.4 L'éditeur de fenêtre 103
6.5 L'éditeur de l'interface du composant 106
6.6 L'éditeur de l'interface View 108
6.7 L'éditeur d'application Abap Web Dynpro 108
7. Le cycle requête réponse 110
8. Exercices 116
8.1 Création d'une première application 116
8.2 Solution 116
8.3 Exercice Navigation 137
8.4 Solution 137
Chapitre 5 Le contexte
1. Introduction 159
2. Les objectifs 159
3. La structure du contexte 159
4. L'éditeur de contexte 162
4.1 Le binding d'un élément graphique au contexte de la vue 166
4.2 Le mapping interne 170
5. Le contexte et ses métadonnées au moment du développement 173
6. Le contexte durant l'exécution du programme 178
7. La propriété supply function 183
8. Exercices 185
8.1 Thème de l'exercice 185
8.2 Objectif 185
8.3 Solution 185
8.3.1 Création des attributs dans le contexte du contrôleur 185
8.3.2 Mapping du contexte du contrôleur de composant dans la vue V_Search 189
8.3.3 Modification du layout de la vue V_Search 191
8.3.4 Mapping du contexte du contrôleur de composant dans la vue V_Result 199
8.3.5 Alimentation des noeuds du contrôleur du composant 201
8.3.6 Test de l'application 208
Chapitre 6 Les éléments graphiques
1. L'objectif 211
2. La manipulation des éléments graphiques 211
2.1 L'éditeur 211
2.2 L'ajout d'éléments graphiques 212
2.3 Les quatre types de disposition 214
2.3.1 FlowLayout 214
2.3.2 RowLayout 214
2.3.3 GridLayout 215
2.3.4 MatrixLayout 215
3. Les éléments graphiques disponibles dans la bibliothèque 216
3.1 Les éléments Favoris 216
3.2 Les éléments de type Texte 216
3.2.1 Caption 216
3.2.2 Explanation 216
3.2.3 FormattedTextView 216
3.2.4 FormattedtextEdit 216
3.2.5 InputField 216
3.2.6 Label 217
3.2.7 TextEdit 217
3.2.8 TextView 217
3.3 Les éléments de type Action 217
3.3.1 Button 217
3.3.2 ButtonChoice 218
3.3.3 LinkChoice 218
3.3.4 LinkToAction 218
3.3.5 LinkToURL 219
3.3.6 Timed Trigger 219
3.4 Les éléments de type Selection 219
3.4.1 Checkbox 219
3.4.2 Checkbox Group 220
3.4.3 DropDownByIndex 220
3.4.4 DropDownByKey 220
3.4.5 ItemListBox 221
3.4.6 RadioButton 222
3.4.7 RadioButtonGroupByIndex 222
3.4.8 RadioButtonGroupByKey 222
3.4.9 ToggleButton 223
3.4.10 ToggleLink 224
3.4.11 TriStateCheckBox 224
3.5 Les éléments de type Complexe 224
3.5.1 Breadcrumb 224
3.5.2 DateNavigator 224
3.5.3 Legend 225
3.5.4 PhaseIndicator 225
3.5.5 RoadMap 226
3.5.6 Table 226
3.5.7 Tree 226
3.6 Les éléments de type Layout 227
3.6.1 ContextualPanel 227
3.6.2 HorizontalContextualPanel 228
3.6.3 MessageArea 228
3.6.4 NavigationList 228
3.6.5 PageHeader 228
3.6.6 ButtonRow 229
3.6.7 HorizontalGutter 229
3.6.8 InvisibleElement 229
3.6.9 Multipane 229
3.6.10 TabStrip 230
3.6.11 ViewContainerUIElement 230
3.6.12 Group 230
3.6.13 TransparentContainer 231
3.6.14 Tray 231
3.7 Les éléments de type Graphique 231
3.7.1 Gantt 231
3.7.2 Network 231
3.7.3 Business Graphics 231
3.7.4 GeoMap 232
3.7.5 Value Comparison 232
3.7.6 Image 232
3.7.7 Progress Indicator 233
3.8 Les éléments de type Intégration 233
3.8.1 InteractiveForm 233
3.8.2 BIApplicationFrame 234
3.8.3 OfficeControl 234
3.8.4 FileDownload 234
3.8.5 FileUpload 236
4. Les glissé-déposé 236
4.1 La source 237
4.2 La cible 237
4.2.1 Table, liste ou arbre 237
4.2.2 Tout autre élément graphique 238
5. Les collections d'icônes Web 239
5.1 Les icônes, les icônes larges et les pictogrammes 240
5.2 Les icônes sur un serveur d'icônes 241
5.3 Les icônes du répertoire (Mime Repository) 241
5.4 Les icônes d'un composant ou d'un autre composant 241
5.5 Les icônes SAPGUI 243
6. L'apparence des éléments 243
7. Exemple d'utilisation des éléments graphiques 244
8. Exercice 244
8.1 Thème de l'exercice 244
8.2 Objectif 244
8.3 Solution 244
8.3.1 Chargement d'une image dans le référentiel Mime 244
8.3.2 Utilisation de l'assistant pour l'appel de fonction 247
8.3.3 Ajout de l'image et modification du layout de la vue V_Search 255
8.3.4 Modification du layout de la vue V_Result 269
8.3.5 L'ajout d'un élément graphique de type liste déroulante 275
Chapitre 7 Le développement des applications AWD
1. Les objectifs 285
2. L'URL d'une application Abap Web Dynpro 285
2.1 La définition d'une URL 285
2.2 L'utilisation de paramètres d'URL 287
2.3 Les paramètres standard de l'URL 295
3. La programmation du contrôleur et du contexte 302
3.1 L'objectif 302
3.2 Les méthodes du contrôleur de composant 302
3.2.1 La référence directe vers un contrôleur de composant et son contexte 303
3.2.2 La méthode d'accès à un attribut d'un noeud 303
3.2.3 La récupération de tous les attributs d'un noeud 309
3.2.4 La récupération de la collection d'un noeud 310
3.2.5 La modification de la valeur d'un attribut existant 312
3.2.6 L'ajout d'un attribut à un noeud 313
3.2.7 L'ajout d'un élément avec la structure complète 316
3.2.8 L'ajout d'une collection d'éléments 318
4. La gestion des modifications du contexte 320
5. L'appel de service 322
5.1 La création du service 323
5.2 L'utilisation du service 330
6. La gestion des messages d'erreurs 334
6.1 L'objectif 334
6.2 Les différents types de message 335
6.2.1 Le message de succès 335
6.2.2 Le message d'avertissement 335
6.2.3 Le message d'erreur 335
6.2.4 Le message fatal d'abandon 335
6.3 La zone de message 335
6.4 Le gestionnaire de messages 337
6.5 Lever des messages d'erreurs fatales 338
6.6 Lever des exceptions fatales 339
6.7 Lever des messages d'erreurs non fatales 340
6.7.1 Non liés à un élément ou à un attribut de contexte 340
6.7.2 Liés à un élément ou à un attribut de contexte 341
6.8 Lever des exceptions non fatales 342
6.8.1 Non liées à un élément ou à un attribut de contexte 342
6.8.2 Liées à un élément ou à un attribut de contexte 343
7. Les boîtes de dialogue et les fenêtres externes 344
7.1 L'appel de boîte de dialogue 344
7.1.1 La boîte de dialogue modale interne au composant 344
7.1.2 La boîte de dialogue modale d'un sous-composant 348
7.1.3 La boîte de dialogue modale de confirmation 349
7.1.4 La boîte de dialogue externe 350
8. La gestion de l'aide en Abap Web Dynpro 350
8.1 L'aide pour les éléments graphiques 351
8.1.1 La propriété Explanation des éléments graphiques 351
8.1.2 L'élément graphique Explanation 359
8.2 Le Help Center 364
9. Exercices 369
9.1 Travailler avec le contexte 369
9.2 Solution 369
9.3 Travailler avec les messages 376
9.4 Solution 377
Chapitre 8 La programmation dynamique
1. L'objectif 381
2. L'introduction 381
3. La manipulation dynamique du contexte 382
3.1 Créer un noeud 382
3.2 Ajouter des attributs à un noeud 384
4. L'utilisation dynamique des éléments graphiques 386
4.1 Ajouter des éléments graphiques 390
4.2 Modifier des éléments graphiques 392
4.3 Supprimer des éléments graphiques 397
5. Lier les propriétés des éléments rajoutés dynamiquement 398
6. Modifier dynamiquement une action 400
7. Exemple détaillé de manipulation de contextes et d'éléments graphiques 401
8. Exercice 404
9. Solution 404
Chapitre 9 La programmation multicomposant
1. L'objectif 411
2. La visibilité des contrôleurs 411
2.1 Le contrôleur de composant 411
2.2 L'interface de contrôleur de composant 412
2.3 Le contrôleur de vue 414
2.4 Le contrôleur de fenêtre 414
2.5 Le cas du contrôleur de composant interface 415
2.6 Le cas des contrôleurs client 416
3. L'utilisation d'un sous-composant 416
3.1 Sans accéder au contrôleur du sous-composant 416
3.1.1 L'utilisation d'une vue de sous-composant à l'aide d'un conteneur 417
3.1.2 L'utilisation directe d'une vue de sous-composant 418
3.2 En accédant au contrôleur du sous-composant 419
3.2.1 Instancier l'utilisation d'un sous-composant 419
3.2.2 L'utilisation de l'interface du sous-composant 420
4. Le composant ALV 421
4.1 L'utilisation du composant SALV_WD_Table 421
4.1.1 L'utilisation simple 423
4.1.2 L'utilisation avec configuration 425
5. L'aide à la recherche 434
5.1 L'aide à la recherche héritée du dictionnaire de données 434
6. L'Object Value Selector (OVS) 435
7. L'aide à la recherche spécifique 440
8. Le Select Options 442
9. Exercice 444
10. Solution 444
Chapitre 10 La personnalisation des applications AWD
1. Les objectifs 473
2. L'adaptation implicite et explicite 473
2.1 L'adaptation explicite 473
2.2 L'adaptation implicite 475
2.2.1 La personnalisation implicite 475
2.2.2 Le paramétrage implicite 476
2.2.3 La configuration implicite 478
2.3 La hiérarchie des adaptations 478
3. L'interface de personnalisation 479
4. La configuration 481
4.1 La configuration d'un composant 483
4.2 La configuration d'une application 484
4.3 La configuration explicite 486
5. Exercices 486
6. Solutions 486
6.1 Personnalisation implicite 486
6.2 Paramétrage implicite 490
6.3 Configuration implicite 493
6.3.1 Configuration du composant 493
6.3.2 Configuration de l'application 501
6.4 Personnalisation, paramétrage et configuration explicite 506
6.4.1 Utilisation du contrôleur de configuration 506
6.4.2 Utilisation de l'interface de composant IWD_Personalization 517
Chapitre 11 L'intégration des applications AWD
1. Les objectifs 529
2. Le portail d'entreprise SAP NetWeaver 529
2.1 La définition du portail SAP 530
2.1.1 La structure du portail 530
2.2 L'intégration dans le portail 531
2.2.1 L'Abap Web Dynpro dans le portail 531
2.3 La gestion des événements dans le portail 531
2.3.1 Souscrire à un événement du portail 532
2.3.2 Déclencher un événement sur le portail 535
2.4 La navigation 537
2.4.1 La navigation par objet 537
2.4.2 La navigation absolue 539
2.4.3 La navigation relative 541
2.5 Les connecteurs de reprise et de suspension 543
2.6 Le Work Protect Mode 544
3. Le thème d'affichage 546
4. L'internationalisation des applications 548
4.1 L'internationalisation 548
4.1.1 L'utilisation de l'Online Text Repository 549
4.1.2 L'utilisation de la classe d'assistance 556
4.1.3 L'outil de traitement des textes 561
5. L'accessibilité dans les applications Abap Web Dynpro 564
5.1 L'interface utilisateur accessible 564
5.2 Ce qu'il ne faut pas faire 565
5.3 L'utilisation des outils dédiés à l'accessibilité en Abap Web Dynpro 566
6. Le Personal Object Worklist 571
6.1 La définition 572
6.2 Concept 572
6.3 La création d'une nouvelle worklist 573
6.3.1 La création d'une classe implémentant l'interface If_Powl_Feeder 573
6.3.2 La création d'un identifiant d'application 580
6.3.3 La création du type de liste de travail 581
6.3.4 L'affectation du type de liste à un rôle ou à un utilisateur 584
6.3.5 La définition de la requête 585
6.3.6 La définition du lien entre requête et identifiant d'application 586
6.4 L'utilisation de la liste dans un composant Abap Web Dynpro 589
6.5 Les programmes de gestion des listes Powl 600
7. Adobe Flash Island 601
7.1 Présentation 601
7.2 La mise en oeuvre 602
7.2.1 La création de l'application Flex 603
7.2.2 L'intégration de l'application Flex dans le composant Abap Web Dynpro 614
8. Le framework Floor Plan Manager 630
8.1 La définition 630
8.2 La mise en oeuvre 631
8.2.1 Les pré-requis 631
8.2.2 L'utilisation du canevas Activité Simple 632
Chapitre 12 Les bonnes pratiques
1. Les objectifs 649
2. Les recommandations de développement 649
2.1 Le dimensionnement d'un composant 649
2.2 Une bonne utilisation des contextes 650
2.3 Les bonnes pratiques graphiques 652
3. Les points clés à vérifier 654
3.1 Les performances et la qualité du code 654
3.2 La bonne utilisation des contrôleurs 654
3.3 Une bonne utilisation des contextes 655
3.4 Les bonnes pratiques graphiques 655
4. Les outils de trace de d'analyse 656
4.1 L'analyse de la durée d'exécution 656
4.2 L'analyse de la consommation mémoire 657
4.3 La trace Web Dynpro 659
4.4 Le moniteur de performances 660
Chapitre 13 Les API du framework Abap Web Dynpro
1. L'objectif 661
2. L'interface d'un contrôleur 661
3. La structure de l'interface d'un contrôleur 663
4. L'interface du contrôleur de vue 666
5. L'interface de la fenêtre 667
6. L'interface du contrôleur personnalisable 668
7. Les interfaces du composant Abap Web Dynpro 669
8. Les API du framework Abap Web Dynpro 669
8.1 La classe CL_WD_Runtime_Services 675
8.2 La classe CL_WD_Utilities 677
8.3 La classe CL_WD_Custom_Event 679
8.4 La classe CL_WD_Adobe_Services 680
8.5 La classe CL_Wdrportal_Obnweb_Service 681
Chapitre 14 Installer et configurer SAP NetWeaver
1. L'objectifs 683
2. L'architecture 684
3. Le téléchargement des fichiers d'installation 684
4. L'installation du serveur 687
4.1 Les pré-requis système 687
4.2 La décompression des fichiers 689
5. Le démarrage du serveur SAP 708
6. L'installation du client SAPGUI 709
6.1 La configuration du système SAP dans le SAPGUI 712
7. La connexion au serveur SAP 716
8. L'installation de la licence 717
9. La configuration du nom de domaine 722
10. Les outils supplémentaires 727
10.1 L'installation du gestionnaire de base de données : Database Manager 727
10.2 La configuration du gestionnaire 730
11. La configuration du serveur Web du serveur d'applications SAP 734
Glossaire 739
Annexes
1. Configuration du système de transport 743
1.1 Configuration au niveau de l'installation de SAP NetWeaver 743
1.2 Configuration du système de transport 748
1.3 Import des ordres de transports 752
2. Génération de données pour le jeu de test 758
3. Modèle de données et diagramme de classe 758
Index 759
| Permalink : | ./index.php?lvl=notice_display&id=14634 |
Abap web dynpro : le développement d'applications web sous SAP NetWeaver [texte imprime] / Youssoupha Diop ; Mathieu Jourdan . - Paris : ENI, cop. 2011 . - 770 p. : ill., couv. ill. en coul. ; 21 cm. - ( Epsilon) . ISBN : 978-2-7460-6144-6 Index Langues : Français Mots-clés : | ABAP (langage de programmation) SAP Netweaver (logiciel) | Index. décimale : | 004 | Résumé : |
Ce livre s’adresse aux développeurs ABAP désireux de s’initier à la programmation d’interface utilisateur web sous SAP. Il s’adresse également aux architectes, et chefs de projets SAP désireux de comprendre les tenants et les aboutissants de cette technologie livrée par SAP dans les dernières versions de son serveur d’application web (WAS : Web Application Server).
Sur l’ensemble des chapitres l’ouvrage détaille un cas concret de réalisation d’une application ABAP Web Dynpro complète : la gestion d’une chaine hôtelière (système de réservation hôtelier). Ce développement met en lumière dans chaque chapitre une technique particulière ou un élément du framework ABAP Web Dynpro. Ainsi, le lecteur évolue de façon progressive dans la compréhension de l’ensemble des éléments nécessaires à la réalisation d’applications web utilisant ce framework et dispose, à la fin du livre, d’une application fonctionnelle.
Dans les premiers chapitres, les auteurs reprennent les bases du développement ABAP Orienté Objet puis présentent de manière détaillée l’architecture des composants ABAP Web Dynpro, le moteur d’exécution (le runtime) ainsi que l’outil de développement ABAP Workbench. Les chapitres suivants détaillent la programmation des contrôleurs et du contexte ainsi que la description et l’utilisation des éléments graphiques composant l’interface utilisateur. Plus particulièrement, un chapitre est consacré à la programmation dynamique, permettant de générer à la volée une interface utilisateur en fonction d’événements ou d’actions utilisateur se basant sur des conditions ou des cas non définissables au moment du développement. Le chapitre dédié à la programmation multi composants permet au lecteur d’aborder ce concept important qui est la base de la programmation en ABAP Web Dynpro : la réutilisation des composants. Celui dédié à la personnalisation, au paramétrage et à la configuration d’un composant et/ou d’une application Abap Web Dynpro présente la configuration implicite et explicite donnant aux applications Abap Web Dynpro une souplesse d’utilisation en fonction du type d’utilisateur et la possibilité pour tout utilisateur de modifier son interface suivant ses besoins.
L’ouvrage se voulant concret, un chapitre décrit les bonnes pratiques de la programmation Abap Web Dynpro (optimisation des requêtes sur la base de données, respect du modèle de programmation MVC, gestion de la performance, bonne utilisation des éléments graphiques mis à la disposition du développeur, etc.). Un autre chapitre dédié à l’intégration des applications Abap Web Dynpro avec le reste des composants fournis par SAP tel que le portail SAP (SAP Enterprise Portal), à l’internationalisation d’une application web et à l’accessibilité, décrit aussi certains frameworks utilisant les listes de travail (ou POWL : Personal Object Worklist) ou se mettant au-dessus du framework Abap Web Dynpro (FPM : Floor Plan Manager). Un dernier chapitre répertorie les APIs les plus importantes du framework pour aider le développeur à acquérir rapidement les bonnes bases dans l’utilisation des classes et interfaces composant le framework Abap Web Dynpro.
Les solutions des exercices du livre sont en téléchargement sur www.editions-eni.fr.
| Note de contenu : |
Avant-propos
1. Introduction 15
2. Les pré-requis 15
3. À qui s'adresse cet ouvrage ? 16
4. Quel est l'objectif de cet ouvrage ? 16
5. Comment lire cet ouvrage ? 17
6. Le contenu additionnel en ligne 17
7. Le système utilisé et la configuration minimum 17
8. Les questions et commentaires à propos du livre 18
Chapitre 1 Introduction
1. Introduction 19
1.1 Les applications Web dans SAP 20
1.2 Le contenu de l'ouvrage 22
Chapitre 2 Étude de cas
1. Les objectifs 27
2. La description de l'étude de cas 27
2.1 La carte de navigation 28
2.2 La page de recherche d'un hôtel 29
2.3 La page de résultat de la recherche 30
2.4 La fenêtre de localisation 31
2.5 Le détail de l'hôtel sélectionné 32
2.6 La fenêtre de réservation 33
3. Les éléments techniques 34
3.1 Le diagramme de classes 34
3.2 Le modèle de données 35
Chapitre 3 Présentation de l'Abap Orienté objet
1. Introduction 37
2. Les objectifs 37
3. La programmation analytique ou procédurale 37
4. La programmation orientée objet 40
4.1 L'encapsulation 41
4.2 L'héritage 42
4.3 Le polymorphisme 42
5. L'Abap Objet 43
5.1 L'Objet 43
5.2 La classe 43
5.2.1 La classe globale 44
5.2.2 La définition d'une classe locale 44
5.2.3 Les composants d'une classe 45
5.3 Les attributs 46
5.4 Les méthodes 47
5.5 Les événements 50
5.6 L'instanciation d'une classe 52
5.6.1 La création d'un objet 52
5.6.2 Le Garbage collector 55
5.6.3 L'utilisation des différents objets 55
5.7 Les interfaces 57
5.7.1 La définition et l'implémentation d'une interface 58
5.7.2 Le cast de réduction et le cast d'élargissement 59
6. En résumé 61
7. Exercices 61
7.1 Objectifs 61
7.2 Création d'une classe 61
7.2.1 Exercice 61
7.2.2 Solution 62
7.3 Instanciation d'une classe 68
7.3.1 Exercice 68
7.3.2 Solution 69
Chapitre 4 Architecture d'un composant Abap Web Dynpro
1. Introduction 73
2. Les objectifs 73
3. Le modèle de programmation 73
4. Le métamodèle Abap Web Dynpro 75
5. Le composant Abap Web Dynpro 76
5.1 Le contrôleur de composant 77
5.1.1 Les événements 78
5.1.2 Le contexte 78
5.2 La vue 79
5.2.1 Le layout de la vue 79
5.2.2 Lien entre un élément graphique et un attribut du contexte 80
5.2.3 Lien entre contextes 81
5.2.4 Les plugs et les navigations links 82
5.2.5 Les actions 83
5.3 La fenêtre 83
5.4 Le modèle 84
5.5 Le contrôleur personnalisable 85
5.6 L'interface du composant 86
5.7 L'application Abap Web Dynpro 87
5.8 Les caractéristiques des différents contrôleurs 88
5.8.1 La durée de vie d'un composant 88
5.8.2 La durée de vie d'une vue 89
5.8.3 Les caractéristiques des contrôleurs 89
5.8.4 La réutilisation des composants 90
6. L'explorateur Abap Web Dynpro 90
6.1 L'éditeur de composant 93
6.2 L'éditeur de contrôleur 94
6.3 L'éditeur de vue 98
6.4 L'éditeur de fenêtre 103
6.5 L'éditeur de l'interface du composant 106
6.6 L'éditeur de l'interface View 108
6.7 L'éditeur d'application Abap Web Dynpro 108
7. Le cycle requête réponse 110
8. Exercices 116
8.1 Création d'une première application 116
8.2 Solution 116
8.3 Exercice Navigation 137
8.4 Solution 137
Chapitre 5 Le contexte
1. Introduction 159
2. Les objectifs 159
3. La structure du contexte 159
4. L'éditeur de contexte 162
4.1 Le binding d'un élément graphique au contexte de la vue 166
4.2 Le mapping interne 170
5. Le contexte et ses métadonnées au moment du développement 173
6. Le contexte durant l'exécution du programme 178
7. La propriété supply function 183
8. Exercices 185
8.1 Thème de l'exercice 185
8.2 Objectif 185
8.3 Solution 185
8.3.1 Création des attributs dans le contexte du contrôleur 185
8.3.2 Mapping du contexte du contrôleur de composant dans la vue V_Search 189
8.3.3 Modification du layout de la vue V_Search 191
8.3.4 Mapping du contexte du contrôleur de composant dans la vue V_Result 199
8.3.5 Alimentation des noeuds du contrôleur du composant 201
8.3.6 Test de l'application 208
Chapitre 6 Les éléments graphiques
1. L'objectif 211
2. La manipulation des éléments graphiques 211
2.1 L'éditeur 211
2.2 L'ajout d'éléments graphiques 212
2.3 Les quatre types de disposition 214
2.3.1 FlowLayout 214
2.3.2 RowLayout 214
2.3.3 GridLayout 215
2.3.4 MatrixLayout 215
3. Les éléments graphiques disponibles dans la bibliothèque 216
3.1 Les éléments Favoris 216
3.2 Les éléments de type Texte 216
3.2.1 Caption 216
3.2.2 Explanation 216
3.2.3 FormattedTextView 216
3.2.4 FormattedtextEdit 216
3.2.5 InputField 216
3.2.6 Label 217
3.2.7 TextEdit 217
3.2.8 TextView 217
3.3 Les éléments de type Action 217
3.3.1 Button 217
3.3.2 ButtonChoice 218
3.3.3 LinkChoice 218
3.3.4 LinkToAction 218
3.3.5 LinkToURL 219
3.3.6 Timed Trigger 219
3.4 Les éléments de type Selection 219
3.4.1 Checkbox 219
3.4.2 Checkbox Group 220
3.4.3 DropDownByIndex 220
3.4.4 DropDownByKey 220
3.4.5 ItemListBox 221
3.4.6 RadioButton 222
3.4.7 RadioButtonGroupByIndex 222
3.4.8 RadioButtonGroupByKey 222
3.4.9 ToggleButton 223
3.4.10 ToggleLink 224
3.4.11 TriStateCheckBox 224
3.5 Les éléments de type Complexe 224
3.5.1 Breadcrumb 224
3.5.2 DateNavigator 224
3.5.3 Legend 225
3.5.4 PhaseIndicator 225
3.5.5 RoadMap 226
3.5.6 Table 226
3.5.7 Tree 226
3.6 Les éléments de type Layout 227
3.6.1 ContextualPanel 227
3.6.2 HorizontalContextualPanel 228
3.6.3 MessageArea 228
3.6.4 NavigationList 228
3.6.5 PageHeader 228
3.6.6 ButtonRow 229
3.6.7 HorizontalGutter 229
3.6.8 InvisibleElement 229
3.6.9 Multipane 229
3.6.10 TabStrip 230
3.6.11 ViewContainerUIElement 230
3.6.12 Group 230
3.6.13 TransparentContainer 231
3.6.14 Tray 231
3.7 Les éléments de type Graphique 231
3.7.1 Gantt 231
3.7.2 Network 231
3.7.3 Business Graphics 231
3.7.4 GeoMap 232
3.7.5 Value Comparison 232
3.7.6 Image 232
3.7.7 Progress Indicator 233
3.8 Les éléments de type Intégration 233
3.8.1 InteractiveForm 233
3.8.2 BIApplicationFrame 234
3.8.3 OfficeControl 234
3.8.4 FileDownload 234
3.8.5 FileUpload 236
4. Les glissé-déposé 236
4.1 La source 237
4.2 La cible 237
4.2.1 Table, liste ou arbre 237
4.2.2 Tout autre élément graphique 238
5. Les collections d'icônes Web 239
5.1 Les icônes, les icônes larges et les pictogrammes 240
5.2 Les icônes sur un serveur d'icônes 241
5.3 Les icônes du répertoire (Mime Repository) 241
5.4 Les icônes d'un composant ou d'un autre composant 241
5.5 Les icônes SAPGUI 243
6. L'apparence des éléments 243
7. Exemple d'utilisation des éléments graphiques 244
8. Exercice 244
8.1 Thème de l'exercice 244
8.2 Objectif 244
8.3 Solution 244
8.3.1 Chargement d'une image dans le référentiel Mime 244
8.3.2 Utilisation de l'assistant pour l'appel de fonction 247
8.3.3 Ajout de l'image et modification du layout de la vue V_Search 255
8.3.4 Modification du layout de la vue V_Result 269
8.3.5 L'ajout d'un élément graphique de type liste déroulante 275
Chapitre 7 Le développement des applications AWD
1. Les objectifs 285
2. L'URL d'une application Abap Web Dynpro 285
2.1 La définition d'une URL 285
2.2 L'utilisation de paramètres d'URL 287
2.3 Les paramètres standard de l'URL 295
3. La programmation du contrôleur et du contexte 302
3.1 L'objectif 302
3.2 Les méthodes du contrôleur de composant 302
3.2.1 La référence directe vers un contrôleur de composant et son contexte 303
3.2.2 La méthode d'accès à un attribut d'un noeud 303
3.2.3 La récupération de tous les attributs d'un noeud 309
3.2.4 La récupération de la collection d'un noeud 310
3.2.5 La modification de la valeur d'un attribut existant 312
3.2.6 L'ajout d'un attribut à un noeud 313
3.2.7 L'ajout d'un élément avec la structure complète 316
3.2.8 L'ajout d'une collection d'éléments 318
4. La gestion des modifications du contexte 320
5. L'appel de service 322
5.1 La création du service 323
5.2 L'utilisation du service 330
6. La gestion des messages d'erreurs 334
6.1 L'objectif 334
6.2 Les différents types de message 335
6.2.1 Le message de succès 335
6.2.2 Le message d'avertissement 335
6.2.3 Le message d'erreur 335
6.2.4 Le message fatal d'abandon 335
6.3 La zone de message 335
6.4 Le gestionnaire de messages 337
6.5 Lever des messages d'erreurs fatales 338
6.6 Lever des exceptions fatales 339
6.7 Lever des messages d'erreurs non fatales 340
6.7.1 Non liés à un élément ou à un attribut de contexte 340
6.7.2 Liés à un élément ou à un attribut de contexte 341
6.8 Lever des exceptions non fatales 342
6.8.1 Non liées à un élément ou à un attribut de contexte 342
6.8.2 Liées à un élément ou à un attribut de contexte 343
7. Les boîtes de dialogue et les fenêtres externes 344
7.1 L'appel de boîte de dialogue 344
7.1.1 La boîte de dialogue modale interne au composant 344
7.1.2 La boîte de dialogue modale d'un sous-composant 348
7.1.3 La boîte de dialogue modale de confirmation 349
7.1.4 La boîte de dialogue externe 350
8. La gestion de l'aide en Abap Web Dynpro 350
8.1 L'aide pour les éléments graphiques 351
8.1.1 La propriété Explanation des éléments graphiques 351
8.1.2 L'élément graphique Explanation 359
8.2 Le Help Center 364
9. Exercices 369
9.1 Travailler avec le contexte 369
9.2 Solution 369
9.3 Travailler avec les messages 376
9.4 Solution 377
Chapitre 8 La programmation dynamique
1. L'objectif 381
2. L'introduction 381
3. La manipulation dynamique du contexte 382
3.1 Créer un noeud 382
3.2 Ajouter des attributs à un noeud 384
4. L'utilisation dynamique des éléments graphiques 386
4.1 Ajouter des éléments graphiques 390
4.2 Modifier des éléments graphiques 392
4.3 Supprimer des éléments graphiques 397
5. Lier les propriétés des éléments rajoutés dynamiquement 398
6. Modifier dynamiquement une action 400
7. Exemple détaillé de manipulation de contextes et d'éléments graphiques 401
8. Exercice 404
9. Solution 404
Chapitre 9 La programmation multicomposant
1. L'objectif 411
2. La visibilité des contrôleurs 411
2.1 Le contrôleur de composant 411
2.2 L'interface de contrôleur de composant 412
2.3 Le contrôleur de vue 414
2.4 Le contrôleur de fenêtre 414
2.5 Le cas du contrôleur de composant interface 415
2.6 Le cas des contrôleurs client 416
3. L'utilisation d'un sous-composant 416
3.1 Sans accéder au contrôleur du sous-composant 416
3.1.1 L'utilisation d'une vue de sous-composant à l'aide d'un conteneur 417
3.1.2 L'utilisation directe d'une vue de sous-composant 418
3.2 En accédant au contrôleur du sous-composant 419
3.2.1 Instancier l'utilisation d'un sous-composant 419
3.2.2 L'utilisation de l'interface du sous-composant 420
4. Le composant ALV 421
4.1 L'utilisation du composant SALV_WD_Table 421
4.1.1 L'utilisation simple 423
4.1.2 L'utilisation avec configuration 425
5. L'aide à la recherche 434
5.1 L'aide à la recherche héritée du dictionnaire de données 434
6. L'Object Value Selector (OVS) 435
7. L'aide à la recherche spécifique 440
8. Le Select Options 442
9. Exercice 444
10. Solution 444
Chapitre 10 La personnalisation des applications AWD
1. Les objectifs 473
2. L'adaptation implicite et explicite 473
2.1 L'adaptation explicite 473
2.2 L'adaptation implicite 475
2.2.1 La personnalisation implicite 475
2.2.2 Le paramétrage implicite 476
2.2.3 La configuration implicite 478
2.3 La hiérarchie des adaptations 478
3. L'interface de personnalisation 479
4. La configuration 481
4.1 La configuration d'un composant 483
4.2 La configuration d'une application 484
4.3 La configuration explicite 486
5. Exercices 486
6. Solutions 486
6.1 Personnalisation implicite 486
6.2 Paramétrage implicite 490
6.3 Configuration implicite 493
6.3.1 Configuration du composant 493
6.3.2 Configuration de l'application 501
6.4 Personnalisation, paramétrage et configuration explicite 506
6.4.1 Utilisation du contrôleur de configuration 506
6.4.2 Utilisation de l'interface de composant IWD_Personalization 517
Chapitre 11 L'intégration des applications AWD
1. Les objectifs 529
2. Le portail d'entreprise SAP NetWeaver 529
2.1 La définition du portail SAP 530
2.1.1 La structure du portail 530
2.2 L'intégration dans le portail 531
2.2.1 L'Abap Web Dynpro dans le portail 531
2.3 La gestion des événements dans le portail 531
2.3.1 Souscrire à un événement du portail 532
2.3.2 Déclencher un événement sur le portail 535
2.4 La navigation 537
2.4.1 La navigation par objet 537
2.4.2 La navigation absolue 539
2.4.3 La navigation relative 541
2.5 Les connecteurs de reprise et de suspension 543
2.6 Le Work Protect Mode 544
3. Le thème d'affichage 546
4. L'internationalisation des applications 548
4.1 L'internationalisation 548
4.1.1 L'utilisation de l'Online Text Repository 549
4.1.2 L'utilisation de la classe d'assistance 556
4.1.3 L'outil de traitement des textes 561
5. L'accessibilité dans les applications Abap Web Dynpro 564
5.1 L'interface utilisateur accessible 564
5.2 Ce qu'il ne faut pas faire 565
5.3 L'utilisation des outils dédiés à l'accessibilité en Abap Web Dynpro 566
6. Le Personal Object Worklist 571
6.1 La définition 572
6.2 Concept 572
6.3 La création d'une nouvelle worklist 573
6.3.1 La création d'une classe implémentant l'interface If_Powl_Feeder 573
6.3.2 La création d'un identifiant d'application 580
6.3.3 La création du type de liste de travail 581
6.3.4 L'affectation du type de liste à un rôle ou à un utilisateur 584
6.3.5 La définition de la requête 585
6.3.6 La définition du lien entre requête et identifiant d'application 586
6.4 L'utilisation de la liste dans un composant Abap Web Dynpro 589
6.5 Les programmes de gestion des listes Powl 600
7. Adobe Flash Island 601
7.1 Présentation 601
7.2 La mise en oeuvre 602
7.2.1 La création de l'application Flex 603
7.2.2 L'intégration de l'application Flex dans le composant Abap Web Dynpro 614
8. Le framework Floor Plan Manager 630
8.1 La définition 630
8.2 La mise en oeuvre 631
8.2.1 Les pré-requis 631
8.2.2 L'utilisation du canevas Activité Simple 632
Chapitre 12 Les bonnes pratiques
1. Les objectifs 649
2. Les recommandations de développement 649
2.1 Le dimensionnement d'un composant 649
2.2 Une bonne utilisation des contextes 650
2.3 Les bonnes pratiques graphiques 652
3. Les points clés à vérifier 654
3.1 Les performances et la qualité du code 654
3.2 La bonne utilisation des contrôleurs 654
3.3 Une bonne utilisation des contextes 655
3.4 Les bonnes pratiques graphiques 655
4. Les outils de trace de d'analyse 656
4.1 L'analyse de la durée d'exécution 656
4.2 L'analyse de la consommation mémoire 657
4.3 La trace Web Dynpro 659
4.4 Le moniteur de performances 660
Chapitre 13 Les API du framework Abap Web Dynpro
1. L'objectif 661
2. L'interface d'un contrôleur 661
3. La structure de l'interface d'un contrôleur 663
4. L'interface du contrôleur de vue 666
5. L'interface de la fenêtre 667
6. L'interface du contrôleur personnalisable 668
7. Les interfaces du composant Abap Web Dynpro 669
8. Les API du framework Abap Web Dynpro 669
8.1 La classe CL_WD_Runtime_Services 675
8.2 La classe CL_WD_Utilities 677
8.3 La classe CL_WD_Custom_Event 679
8.4 La classe CL_WD_Adobe_Services 680
8.5 La classe CL_Wdrportal_Obnweb_Service 681
Chapitre 14 Installer et configurer SAP NetWeaver
1. L'objectifs 683
2. L'architecture 684
3. Le téléchargement des fichiers d'installation 684
4. L'installation du serveur 687
4.1 Les pré-requis système 687
4.2 La décompression des fichiers 689
5. Le démarrage du serveur SAP 708
6. L'installation du client SAPGUI 709
6.1 La configuration du système SAP dans le SAPGUI 712
7. La connexion au serveur SAP 716
8. L'installation de la licence 717
9. La configuration du nom de domaine 722
10. Les outils supplémentaires 727
10.1 L'installation du gestionnaire de base de données : Database Manager 727
10.2 La configuration du gestionnaire 730
11. La configuration du serveur Web du serveur d'applications SAP 734
Glossaire 739
Annexes
1. Configuration du système de transport 743
1.1 Configuration au niveau de l'installation de SAP NetWeaver 743
1.2 Configuration du système de transport 748
1.3 Import des ordres de transports 752
2. Génération de données pour le jeu de test 758
3. Modèle de données et diagramme de classe 758
Index 759
| Permalink : | ./index.php?lvl=notice_display&id=14634 |
|  |