Comme indiqué, vous avez deux possibilités. La première consisterait à utiliser la fonction ajax côté client pour récupérer les données après le chargement de la page. L'autre option consiste à utiliser une requête http asynchrone et à récupérer les données avant le chargement de la page.
Si possible, compte tenu de vos exigences en matière de sécurité et de fonctionnalité, je pense qu'ajax est la meilleure solution. Vos serveurs seront moins sollicités.
Pour plus de détails : Après le chargement de votre page, si possible, demandez au client d'appeler directement le service web, en contournant complètement vos serveurs. Il s'agit probablement de la méthode la plus rapide semblant surtout si vous avez beaucoup d'éléments pour lesquels vous devez obtenir des données. Les premiers éléments se chargeront rapidement et l'utilisateur ne remarquera pas que les autres se chargent pendant qu'il est occupé par les premiers.
Par ailleurs, si la sécurité est un problème (votre service web a des informations d'identification que vous ne voulez pas que le monde entier connaisse), vous pouvez utiliser un proxy sur votre serveur, qui renvoie les résultats du service web, que le client demande via ajax.