![[z/OS]](../images/ngzos.gif)
Optimisation de SOAP
Apprenez comment ajuster les messages du protocole SOAP que vous utilisez avec vos services web.
Pourquoi et quand exécuter cette tâche
Procédure
- Définissez noLocalCopies dans servant.jvm.options (-Dcom.ibm.CORBA.iiop.noLocalCopies=1). La transmission des paramètres peut ainsi être effectuée par référence et non par valeur. Ceci ne s'applique que si vous exposez un bean enterprise comme service Web. Pour en savoir plus, consultez la documentation sur les paramètres du service ORB.
- Si vous ne procédez pas au débogage actif d'un problème, assurez-vous que toutes les traces sont désactivées.
- Lors de la définition des stratégies transactionnelles de l'application, définissez TX_NOT_SUPPORTED et sélectionnez des transactions locales. Les transactions locales donnent de meilleurs résultats que les transactions globales car WebSphere n'est pas nécessaire pour coordonner la portée de validation sur plusieurs gestionnaires de ressources.
- Evitez de transmettre des attributs ou des éléments vides dans les messages SOAP. N'incluez pas de données sans rapport et non nécessaires dans les messages SOAP. Si vous pouvez faire des appels de services Web de style document/littéral pour regrouper les demandes dans un même message SOAP, faites-le plutôt que d'envoyer plusieurs messages SOAP individuels. Les applications SOAP offrent de meilleures performances avec de petits messages SOAP qui contiennent moins d'éléments XML et plus particulièrement moins d'attributs XML. Le contenu des messages SOAP doit être mis en série et analysé. Ces opérations sont coûteuses et doivent être minimisées. Autrement dit, il est préférable d'envoyer 1 message de 10 Ko que 10 messages de 1 Ko. Toutefois, les messages très volumineux (de plus de 200 Ko, par exemple) peuvent avoir une incidence sur les ressources du système, notamment sur la mémoire.
- Il peut s'avérer nécessaire d'augmenter la taille du segment Java™ par défaut. SOAP et XML (DOM) ont recours au stockage de façon intensive et de petites tailles de segment peuvent se traduire par une récupération de place Java excessive. Il s'est avéré qu'une taille de segment de 256 Ko (valeur par défaut) était optimale dans la plupart des scénarios en laboratoire. Vous pouvez contrôler la récupération de place à l'aide de la directive Java verbose:gc.
- Assurez-vous que les mémoires tampon d'envoi/réception TCP/IP sont suffisamment importantes pour contenir l'ensemble des messages xml envoyés.
- Envisagez d'utiliser un modèle de document au lieu d'un modèle RPC. Il offre un contrôle total du format des messages XML mais nécessite une programmation supplémentaire.
- Lors de l'utilisation des messages de style RPC, essayez d'envoyer des chaînes si possible.
- Pour les services Web Java API for XML-based RPC (JAX-RPC), envisagez d'écrire vos propres programmes de sérialisation et désérialisation afin d'éviter la réflexion.